Finish Zoom
This commit is contained in:
parent
5b4aeaed01
commit
abb1a12271
@ -2675,32 +2675,59 @@ void dim_copy_pers(pixel *dst, pixel *src) //for persistent view, reduces rgb sl
|
|||||||
void render_zoom(pixel *img) //draws the zoom box
|
void render_zoom(pixel *img) //draws the zoom box
|
||||||
{
|
{
|
||||||
#ifdef OGLR
|
#ifdef OGLR
|
||||||
glEnable( GL_TEXTURE_2D );
|
float zcx1, zcx0, zcy1, zcy0, yfactor, xfactor; //X-Factor is shit, btw
|
||||||
glReadBuffer(GL_AUX0);
|
xfactor = 1.0f/(float)XRES;
|
||||||
glBindTexture(GL_TEXTURE_2D, partsFboTex);
|
yfactor = 1.0f/(float)YRES;
|
||||||
glCopyTexSubImage2D(GL_TEXTURE_2D,
|
|
||||||
0,
|
zcx0 = (zoom_x)*xfactor;
|
||||||
20,
|
zcx1 = (zoom_x+ZSIZE)*xfactor;
|
||||||
20,
|
zcy0 = (YRES-zoom_y+1)*yfactor;
|
||||||
30,
|
zcy1 = (YRES-(zoom_y+ZSIZE)+1)*yfactor;
|
||||||
30,
|
|
||||||
50,
|
glEnable(GL_LINE_SMOOTH);
|
||||||
50);
|
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||||
|
glBegin(GL_LINE_STRIP);
|
||||||
|
glVertex3i(zoom_wx-1, YRES+MENUSIZE-zoom_wy, 0);
|
||||||
|
glVertex3i(zoom_wx-1, YRES+MENUSIZE-(zoom_wy+ZSIZE*ZFACTOR), 0);
|
||||||
|
glVertex3i(zoom_wx+ZSIZE*ZFACTOR, YRES+MENUSIZE-(zoom_wy+ZSIZE*ZFACTOR), 0);
|
||||||
|
glVertex3i(zoom_wx+ZSIZE*ZFACTOR, YRES+MENUSIZE-zoom_wy, 0);
|
||||||
|
glVertex3i(zoom_wx-1, YRES+MENUSIZE-zoom_wy, 0);
|
||||||
|
glEnd();
|
||||||
|
glDisable(GL_LINE_SMOOTH);
|
||||||
|
|
||||||
|
glEnable( GL_TEXTURE_2D );
|
||||||
|
//glReadBuffer(GL_AUX0);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, partsFboTex);
|
||||||
|
|
||||||
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||||
glBegin(GL_QUADS);
|
glBegin(GL_QUADS);
|
||||||
glTexCoord2d(1, 1);
|
glTexCoord2d(zcx1, zcy1);
|
||||||
glVertex3f(zoom_wx+ZSIZE*ZFACTOR, YRES+MENUSIZE-(zoom_wy+ZSIZE*ZFACTOR), 1.0);
|
glVertex3f(zoom_wx+ZSIZE*ZFACTOR, YRES+MENUSIZE-(zoom_wy+ZSIZE*ZFACTOR), 1.0);
|
||||||
glTexCoord2d(0, 1);
|
glTexCoord2d(zcx0, zcy1);
|
||||||
glVertex3f(zoom_wx, YRES+MENUSIZE-(zoom_wy+ZSIZE*ZFACTOR), 1.0);
|
glVertex3f(zoom_wx, YRES+MENUSIZE-(zoom_wy+ZSIZE*ZFACTOR), 1.0);
|
||||||
glTexCoord2d(0, 0);
|
glTexCoord2d(zcx0, zcy0);
|
||||||
glVertex3f(zoom_wx, YRES+MENUSIZE-zoom_wy, 1.0);
|
glVertex3f(zoom_wx, YRES+MENUSIZE-zoom_wy, 1.0);
|
||||||
glTexCoord2d(1, 0);
|
glTexCoord2d(zcx1, zcy0);
|
||||||
glVertex3f(zoom_wx+ZSIZE*ZFACTOR, YRES+MENUSIZE-zoom_wy, 1.0);
|
glVertex3f(zoom_wx+ZSIZE*ZFACTOR, YRES+MENUSIZE-zoom_wy, 1.0);
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
glDisable( GL_TEXTURE_2D );
|
glDisable( GL_TEXTURE_2D );
|
||||||
|
|
||||||
|
|
||||||
|
if(zoom_en)
|
||||||
|
{
|
||||||
|
//glEnable(GL_COLOR_LOGIC_OP);
|
||||||
|
glEnable(GL_LINE_SMOOTH);
|
||||||
|
//glLogicOp(GL_XOR);
|
||||||
|
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
|
||||||
|
glBegin(GL_LINE_STRIP);
|
||||||
|
glVertex3i(zoom_x-1, YRES+MENUSIZE-(zoom_y-1), 0);
|
||||||
|
glVertex3i(zoom_x-1, YRES+MENUSIZE-(zoom_y+ZSIZE), 0);
|
||||||
|
glVertex3i(zoom_x+ZSIZE, YRES+MENUSIZE-(zoom_y+ZSIZE), 0);
|
||||||
|
glVertex3i(zoom_x+ZSIZE, YRES+MENUSIZE-(zoom_y-1), 0);
|
||||||
|
glVertex3i(zoom_x-1, YRES+MENUSIZE-(zoom_y-1), 0);
|
||||||
|
glEnd();
|
||||||
|
//glDisable(GL_COLOR_LOGIC_OP);
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
int x, y, i, j;
|
int x, y, i, j;
|
||||||
pixel pix;
|
pixel pix;
|
||||||
|
Reference in New Issue
Block a user