Code cleanup: remove unneeded gla* 2D drawing functions.
This commit is contained in:
@@ -107,38 +107,6 @@ void immDrawPixelsTexScaled_clipping(IMMDrawPixelsTexState *state,
|
||||
float x, float y, int img_w, int img_h, int format, int type, int zoomfilter, void *rect, float scaleX, float scaleY,
|
||||
float clip_min_x, float clip_min_y, float clip_max_x, float clip_max_y,
|
||||
float xzoom, float yzoom, float color[4]);
|
||||
/* 2D Drawing Assistance */
|
||||
|
||||
/** Define a 2D area (viewport, scissor, matrices) for OpenGL rendering.
|
||||
*
|
||||
* glaDefine2DArea and glaBegin2DDraw set up an OpenGL state appropriate
|
||||
* for drawing using both vertex (Vertex, etc) and raster (RasterPos, Rect)
|
||||
* commands. All coordinates should be at integer positions. There is little
|
||||
* to no reason to use glVertex2f etc. functions during 2D rendering, and
|
||||
* thus no reason to +-0.5 the coordinates or perform other silly
|
||||
* tricks.
|
||||
*
|
||||
* \param screen_rect The screen rectangle to be defined for 2D drawing.
|
||||
*/
|
||||
void glaDefine2DArea(struct rcti *screen_rect);
|
||||
|
||||
/* TODO(merwin): put the following 2D code to use, or build new 2D code inspired & informd by it */
|
||||
|
||||
#if 0 /* UNUSED */
|
||||
|
||||
typedef struct gla2DDrawInfo gla2DDrawInfo;
|
||||
|
||||
gla2DDrawInfo *glaBegin2DDraw(struct rcti *screen_rect, struct rctf *world_rect);
|
||||
void gla2DDrawTranslatePt(gla2DDrawInfo *di, float wo_x, float wo_y, int *r_sc_x, int *r_sc_y);
|
||||
void gla2DDrawTranslatePtv(gla2DDrawInfo *di, float world[2], int r_screen[2]);
|
||||
|
||||
void glaEnd2DDraw(gla2DDrawInfo *di);
|
||||
|
||||
/** Adjust the transformation mapping of a 2d area */
|
||||
void gla2DGetMap(gla2DDrawInfo *di, struct rctf *rect);
|
||||
void gla2DSetMap(gla2DDrawInfo *di, struct rctf *rect);
|
||||
|
||||
#endif /* UNUSED */
|
||||
|
||||
void set_inverted_drawing(int enable);
|
||||
void setlinestyle(int nr);
|
||||
|
||||
@@ -354,142 +354,6 @@ void immDrawPixelsTex_clipping(IMMDrawPixelsTexState *state,
|
||||
clip_min_x, clip_min_y, clip_max_x, clip_max_y, xzoom, yzoom, color);
|
||||
}
|
||||
|
||||
/* 2D Drawing Assistance */
|
||||
|
||||
void glaDefine2DArea(rcti *screen_rect)
|
||||
{
|
||||
const int sc_w = BLI_rcti_size_x(screen_rect) + 1;
|
||||
const int sc_h = BLI_rcti_size_y(screen_rect) + 1;
|
||||
|
||||
glViewport(screen_rect->xmin, screen_rect->ymin, sc_w, sc_h);
|
||||
glScissor(screen_rect->xmin, screen_rect->ymin, sc_w, sc_h);
|
||||
|
||||
/* The GLA_PIXEL_OFS magic number is to shift the matrix so that
|
||||
* both raster and vertex integer coordinates fall at pixel
|
||||
* centers properly. For a longer discussion see the OpenGL
|
||||
* Programming Guide, Appendix H, Correctness Tips.
|
||||
*/
|
||||
|
||||
gpuOrtho2D(GLA_PIXEL_OFS, sc_w + GLA_PIXEL_OFS, GLA_PIXEL_OFS, sc_h + GLA_PIXEL_OFS);
|
||||
gpuLoadIdentity();
|
||||
}
|
||||
|
||||
/* TODO(merwin): put the following 2D code to use, or build new 2D code inspired & informd by it */
|
||||
|
||||
#if 0 /* UNUSED */
|
||||
|
||||
struct gla2DDrawInfo {
|
||||
int orig_vp[4], orig_sc[4];
|
||||
float orig_projmat[16], orig_viewmat[16];
|
||||
|
||||
rcti screen_rect;
|
||||
rctf world_rect;
|
||||
|
||||
float wo_to_sc[2];
|
||||
};
|
||||
|
||||
void gla2DGetMap(gla2DDrawInfo *di, rctf *rect)
|
||||
{
|
||||
*rect = di->world_rect;
|
||||
}
|
||||
|
||||
void gla2DSetMap(gla2DDrawInfo *di, rctf *rect)
|
||||
{
|
||||
int sc_w, sc_h;
|
||||
float wo_w, wo_h;
|
||||
|
||||
di->world_rect = *rect;
|
||||
|
||||
sc_w = BLI_rcti_size_x(&di->screen_rect);
|
||||
sc_h = BLI_rcti_size_y(&di->screen_rect);
|
||||
wo_w = BLI_rcti_size_x(&di->world_rect);
|
||||
wo_h = BLI_rcti_size_y(&di->world_rect);
|
||||
|
||||
di->wo_to_sc[0] = sc_w / wo_w;
|
||||
di->wo_to_sc[1] = sc_h / wo_h;
|
||||
}
|
||||
|
||||
/** Save the current OpenGL state and initialize OpenGL for 2D
|
||||
* rendering. glaEnd2DDraw should be called on the returned structure
|
||||
* to free it and to return OpenGL to its previous state. The
|
||||
* scissor rectangle is set to match the viewport.
|
||||
*
|
||||
* See glaDefine2DArea for an explanation of why this function uses integers.
|
||||
*
|
||||
* \param screen_rect The screen rectangle to be used for 2D drawing.
|
||||
* \param world_rect The world rectangle that the 2D area represented
|
||||
* by \a screen_rect is supposed to represent. If NULL it is assumed the
|
||||
* world has a 1 to 1 mapping to the screen.
|
||||
*/
|
||||
gla2DDrawInfo *glaBegin2DDraw(rcti *screen_rect, rctf *world_rect)
|
||||
{
|
||||
gla2DDrawInfo *di = MEM_mallocN(sizeof(*di), "gla2DDrawInfo");
|
||||
int sc_w, sc_h;
|
||||
float wo_w, wo_h;
|
||||
|
||||
glGetIntegerv(GL_VIEWPORT, (GLint *)di->orig_vp);
|
||||
glGetIntegerv(GL_SCISSOR_BOX, (GLint *)di->orig_sc);
|
||||
gpuGetProjectionMatrix(di->orig_projmat);
|
||||
gpuGetModelViewMatrix(di->orig_viewmat);
|
||||
|
||||
di->screen_rect = *screen_rect;
|
||||
if (world_rect) {
|
||||
di->world_rect = *world_rect;
|
||||
}
|
||||
else {
|
||||
di->world_rect.xmin = di->screen_rect.xmin;
|
||||
di->world_rect.ymin = di->screen_rect.ymin;
|
||||
di->world_rect.xmax = di->screen_rect.xmax;
|
||||
di->world_rect.ymax = di->screen_rect.ymax;
|
||||
}
|
||||
|
||||
sc_w = BLI_rcti_size_x(&di->screen_rect);
|
||||
sc_h = BLI_rcti_size_y(&di->screen_rect);
|
||||
wo_w = BLI_rcti_size_x(&di->world_rect);
|
||||
wo_h = BLI_rcti_size_y(&di->world_rect);
|
||||
|
||||
di->wo_to_sc[0] = sc_w / wo_w;
|
||||
di->wo_to_sc[1] = sc_h / wo_h;
|
||||
|
||||
glaDefine2DArea(&di->screen_rect);
|
||||
|
||||
return di;
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate the (\a wo_x, \a wo_y) point from world coordinates into screen space.
|
||||
*/
|
||||
void gla2DDrawTranslatePt(gla2DDrawInfo *di, float wo_x, float wo_y, int *r_sc_x, int *r_sc_y)
|
||||
{
|
||||
*r_sc_x = (wo_x - di->world_rect.xmin) * di->wo_to_sc[0];
|
||||
*r_sc_y = (wo_y - di->world_rect.ymin) * di->wo_to_sc[1];
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate the \a world point from world coordinates into screen space.
|
||||
*/
|
||||
void gla2DDrawTranslatePtv(gla2DDrawInfo *di, float world[2], int r_screen[2])
|
||||
{
|
||||
screen_r[0] = (world[0] - di->world_rect.xmin) * di->wo_to_sc[0];
|
||||
screen_r[1] = (world[1] - di->world_rect.ymin) * di->wo_to_sc[1];
|
||||
}
|
||||
|
||||
/**
|
||||
* Restores the previous OpenGL state and frees the auxiliary gla data.
|
||||
*/
|
||||
void glaEnd2DDraw(gla2DDrawInfo *di)
|
||||
{
|
||||
glViewport(di->orig_vp[0], di->orig_vp[1], di->orig_vp[2], di->orig_vp[3]);
|
||||
glScissor(di->orig_vp[0], di->orig_vp[1], di->orig_vp[2], di->orig_vp[3]);
|
||||
gpuLoadProjectionMatrix(di->orig_projmat);
|
||||
gpuLoadMatrix(di->orig_viewmat);
|
||||
|
||||
MEM_freeN(di);
|
||||
}
|
||||
|
||||
#endif /* UNUSED */
|
||||
|
||||
|
||||
/* *************** glPolygonOffset hack ************* */
|
||||
|
||||
/**
|
||||
|
||||
@@ -482,8 +482,6 @@ static void draw_image_buffer(const bContext *C, SpaceImage *sima, ARegion *ar,
|
||||
{
|
||||
int x, y;
|
||||
|
||||
glaDefine2DArea(&ar->winrct);
|
||||
|
||||
/* find window pixel coordinates of origin */
|
||||
UI_view2d_view_to_region(&ar->v2d, fx, fy, &x, &y);
|
||||
|
||||
|
||||
@@ -3222,8 +3222,6 @@ void draw_nodespace_back_pix(const bContext *C, ARegion *ar, SpaceNode *snode, b
|
||||
gpuPushMatrix();
|
||||
|
||||
/* somehow the offset has to be calculated inverse */
|
||||
|
||||
glaDefine2DArea(&ar->winrct);
|
||||
wmOrtho2_region_pixelspace(ar);
|
||||
|
||||
x = (ar->winx - snode->zoom * ibuf->x) / 2 + snode->xof;
|
||||
|
||||
@@ -1404,7 +1404,6 @@ void drawnodespace(const bContext *C, ARegion *ar)
|
||||
gpuPushMatrix();
|
||||
gpuLoadIdentity();
|
||||
|
||||
glaDefine2DArea(&ar->winrct);
|
||||
wmOrtho2_pixelspace(ar->winx, ar->winy);
|
||||
|
||||
WM_manipulatormap_draw(ar->manipulator_map, C, WM_MANIPULATORMAP_DRAWSTEP_2D);
|
||||
|
||||
Reference in New Issue
Block a user