Revision: 75330
http://sourceforge.net/p/brlcad/code/75330
Author: starseeker
Date: 2020-04-09 21:17:10 +0000 (Thu, 09 Apr 2020)
Log Message:
-----------
Use variables instead of verbose casting for public and private variables in
dm-ogl.c
Modified Paths:
--------------
brlcad/trunk/src/libdm/dm-ogl.c
Modified: brlcad/trunk/src/libdm/dm-ogl.c
===================================================================
--- brlcad/trunk/src/libdm/dm-ogl.c 2020-04-09 20:04:09 UTC (rev 75329)
+++ brlcad/trunk/src/libdm/dm-ogl.c 2020-04-09 21:17:10 UTC (rev 75330)
@@ -187,6 +187,8 @@
ogl_setBGColor(struct dm_internal *dmp, unsigned char r, unsigned char g,
unsigned char b)
{
struct modifiable_ogl_vars *mvars = (struct modifiable_ogl_vars
*)dmp->m_vars;
+ struct dm_xvars *pubvars = (struct dm_xvars *)dmp->dm_vars.pub_vars;
+ struct ogl_vars *privars = (struct ogl_vars *)dmp->dm_vars.priv_vars;
if (dmp->dm_debugLevel == 1)
bu_log("ogl_setBGColor()\n");
@@ -194,16 +196,16 @@
dmp->dm_bg[1] = g;
dmp->dm_bg[2] = b;
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->r = r / 255.0;
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->g = g / 255.0;
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->b = b / 255.0;
+ privars->r = r / 255.0;
+ privars->g = g / 255.0;
+ privars->b = b / 255.0;
if (mvars->doublebuffer) {
- glXSwapBuffers(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->win);
- glClearColor(((struct ogl_vars *)dmp->dm_vars.priv_vars)->r,
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->g,
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->b,
+ glXSwapBuffers(pubvars->dpy,
+ pubvars->win);
+ glClearColor(privars->r,
+ privars->g,
+ privars->b,
0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
}
@@ -225,11 +227,14 @@
XWindowAttributes xwa;
XFontStruct *newfontstruct;
+ struct dm_xvars *pubvars = (struct dm_xvars *)dmp->dm_vars.pub_vars;
+ struct ogl_vars *privars = (struct ogl_vars *)dmp->dm_vars.priv_vars;
+
if (dmp->dm_debugLevel)
bu_log("ogl_configureWin_guts()\n");
- XGetWindowAttributes(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->win, &xwa);
+ XGetWindowAttributes(pubvars->dpy,
+ pubvars->win, &xwa);
/* nothing to do */
if (!force &&
@@ -240,31 +245,31 @@
ogl_reshape(dmp, xwa.width, xwa.height);
/* First time through, load a font or quit */
- if (((struct dm_xvars *)dmp->dm_vars.pub_vars)->fontstruct == NULL) {
- if ((((struct dm_xvars *)dmp->dm_vars.pub_vars)->fontstruct =
- XLoadQueryFont(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
+ if (pubvars->fontstruct == NULL) {
+ if ((pubvars->fontstruct =
+ XLoadQueryFont(pubvars->dpy,
FONT9)) == NULL) {
/* Try hardcoded backup font */
- if ((((struct dm_xvars *)dmp->dm_vars.pub_vars)->fontstruct =
- XLoadQueryFont(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
+ if ((pubvars->fontstruct =
+ XLoadQueryFont(pubvars->dpy,
FONTBACK)) == NULL) {
bu_log("ogl_configureWin_guts: Can't open font '%s' or '%s'\n",
FONT9, FONTBACK);
return BRLCAD_ERROR;
}
}
- glXUseXFont(((struct dm_xvars *)dmp->dm_vars.pub_vars)->fontstruct->fid,
- 0, 127, ((struct ogl_vars
*)dmp->dm_vars.priv_vars)->fontOffset);
+ glXUseXFont(pubvars->fontstruct->fid,
+ 0, 127, privars->fontOffset);
}
if (DM_VALID_FONT_SIZE(dmp->dm_fontsize)) {
- if (((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->per_char->width != dmp->dm_fontsize) {
- if ((newfontstruct = XLoadQueryFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->dpy,
+ if (pubvars->fontstruct->per_char->width != dmp->dm_fontsize) {
+ if ((newfontstruct = XLoadQueryFont(pubvars->dpy,
DM_FONT_SIZE_TO_NAME(dmp->dm_fontsize))) != NULL) {
- XFreeFont(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct);
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->fontstruct =
newfontstruct;
- glXUseXFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->fid,
- 0, 127, ((struct ogl_vars
*)dmp->dm_vars.priv_vars)->fontOffset);
+ XFreeFont(pubvars->dpy,
+ pubvars->fontstruct);
+ pubvars->fontstruct = newfontstruct;
+ glXUseXFont(pubvars->fontstruct->fid,
+ 0, 127, privars->fontOffset);
}
}
} else {
@@ -272,80 +277,80 @@
*/
if (dmp->dm_width < 582) {
- if (((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->per_char->width != 5) {
- if ((newfontstruct = XLoadQueryFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->dpy,
+ if (pubvars->fontstruct->per_char->width != 5) {
+ if ((newfontstruct = XLoadQueryFont(pubvars->dpy,
FONT5)) != NULL) {
- XFreeFont(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct);
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->fontstruct =
newfontstruct;
- glXUseXFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->fid,
- 0, 127, ((struct ogl_vars
*)dmp->dm_vars.priv_vars)->fontOffset);
+ XFreeFont(pubvars->dpy,
+ pubvars->fontstruct);
+ pubvars->fontstruct = newfontstruct;
+ glXUseXFont(pubvars->fontstruct->fid,
+ 0, 127, privars->fontOffset);
}
}
} else if (dmp->dm_width < 679) {
- if (((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->per_char->width != 6) {
- if ((newfontstruct = XLoadQueryFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->dpy,
+ if (pubvars->fontstruct->per_char->width != 6) {
+ if ((newfontstruct = XLoadQueryFont(pubvars->dpy,
FONT6)) != NULL) {
- XFreeFont(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct);
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->fontstruct =
newfontstruct;
- glXUseXFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->fid,
- 0, 127, ((struct ogl_vars
*)dmp->dm_vars.priv_vars)->fontOffset);
+ XFreeFont(pubvars->dpy,
+ pubvars->fontstruct);
+ pubvars->fontstruct = newfontstruct;
+ glXUseXFont(pubvars->fontstruct->fid,
+ 0, 127, privars->fontOffset);
}
}
} else if (dmp->dm_width < 776) {
- if (((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->per_char->width != 7) {
- if ((newfontstruct = XLoadQueryFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->dpy,
+ if (pubvars->fontstruct->per_char->width != 7) {
+ if ((newfontstruct = XLoadQueryFont(pubvars->dpy,
FONT7)) != NULL) {
- XFreeFont(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct);
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->fontstruct =
newfontstruct;
- glXUseXFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->fid,
- 0, 127, ((struct ogl_vars
*)dmp->dm_vars.priv_vars)->fontOffset);
+ XFreeFont(pubvars->dpy,
+ pubvars->fontstruct);
+ pubvars->fontstruct = newfontstruct;
+ glXUseXFont(pubvars->fontstruct->fid,
+ 0, 127, privars->fontOffset);
}
}
} else if (dmp->dm_width < 873) {
- if (((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->per_char->width != 8) {
- if ((newfontstruct = XLoadQueryFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->dpy,
+ if (pubvars->fontstruct->per_char->width != 8) {
+ if ((newfontstruct = XLoadQueryFont(pubvars->dpy,
FONT8)) != NULL) {
- XFreeFont(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct);
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->fontstruct =
newfontstruct;
- glXUseXFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->fid,
- 0, 127, ((struct ogl_vars
*)dmp->dm_vars.priv_vars)->fontOffset);
+ XFreeFont(pubvars->dpy,
+ pubvars->fontstruct);
+ pubvars->fontstruct = newfontstruct;
+ glXUseXFont(pubvars->fontstruct->fid,
+ 0, 127, privars->fontOffset);
}
}
} else if (dmp->dm_width < 1455) {
- if (((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->per_char->width != 9) {
- if ((newfontstruct = XLoadQueryFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->dpy,
+ if (pubvars->fontstruct->per_char->width != 9) {
+ if ((newfontstruct = XLoadQueryFont(pubvars->dpy,
FONT9)) != NULL) {
- XFreeFont(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct);
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->fontstruct =
newfontstruct;
- glXUseXFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->fid,
- 0, 127, ((struct ogl_vars
*)dmp->dm_vars.priv_vars)->fontOffset);
+ XFreeFont(pubvars->dpy,
+ pubvars->fontstruct);
+ pubvars->fontstruct = newfontstruct;
+ glXUseXFont(pubvars->fontstruct->fid,
+ 0, 127, privars->fontOffset);
}
}
} else if (dmp->dm_width < 2037) {
- if (((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->per_char->width != 10) {
- if ((newfontstruct = XLoadQueryFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->dpy,
+ if (pubvars->fontstruct->per_char->width != 10) {
+ if ((newfontstruct = XLoadQueryFont(pubvars->dpy,
FONT10)) != NULL) {
- XFreeFont(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct);
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->fontstruct =
newfontstruct;
- glXUseXFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->fid,
- 0, 127, ((struct ogl_vars
*)dmp->dm_vars.priv_vars)->fontOffset);
+ XFreeFont(pubvars->dpy,
+ pubvars->fontstruct);
+ pubvars->fontstruct = newfontstruct;
+ glXUseXFont(pubvars->fontstruct->fid,
+ 0, 127, privars->fontOffset);
}
}
} else {
- if (((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->per_char->width != 12) {
- if ((newfontstruct = XLoadQueryFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->dpy,
+ if (pubvars->fontstruct->per_char->width != 12) {
+ if ((newfontstruct = XLoadQueryFont(pubvars->dpy,
FONT12)) != NULL) {
- XFreeFont(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct);
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->fontstruct =
newfontstruct;
- glXUseXFont(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->fontstruct->fid,
- 0, 127, ((struct ogl_vars
*)dmp->dm_vars.priv_vars)->fontOffset);
+ XFreeFont(pubvars->dpy,
+ pubvars->fontstruct);
+ pubvars->fontstruct = newfontstruct;
+ glXUseXFont(pubvars->fontstruct->fid,
+ 0, 127, privars->fontOffset);
}
}
}
@@ -360,6 +365,8 @@
{
GLint mm;
+ struct ogl_vars *privars = (struct ogl_vars *)dmp->dm_vars.priv_vars;
+
dmp->dm_height = height;
dmp->dm_width = width;
dmp->dm_aspect = (fastf_t)dmp->dm_width / (fastf_t)dmp->dm_height;
@@ -374,9 +381,9 @@
glViewport(0, 0, dmp->dm_width, dmp->dm_height);
- glClearColor(((struct ogl_vars *)dmp->dm_vars.priv_vars)->r,
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->g,
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->b,
+ glClearColor(privars->r,
+ privars->g,
+ privars->b,
0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
@@ -393,12 +400,15 @@
HIDDEN int
ogl_makeCurrent(struct dm_internal *dmp)
{
+ struct dm_xvars *pubvars = (struct dm_xvars *)dmp->dm_vars.pub_vars;
+ struct ogl_vars *privars = (struct ogl_vars *)dmp->dm_vars.priv_vars;
+
if (dmp->dm_debugLevel)
bu_log("ogl_makeCurrent()\n");
- if (!glXMakeCurrent(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->win,
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->glxc)) {
+ if (!glXMakeCurrent(pubvars->dpy,
+ pubvars->win,
+ privars->glxc)) {
bu_log("ogl_makeCurrent: Couldn't make context current\n");
return BRLCAD_ERROR;
}
@@ -410,9 +420,12 @@
HIDDEN int
ogl_configureWin(struct dm_internal *dmp, int force)
{
- if (!glXMakeCurrent(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->win,
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->glxc)) {
+ struct dm_xvars *pubvars = (struct dm_xvars *)dmp->dm_vars.pub_vars;
+ struct ogl_vars *privars = (struct ogl_vars *)dmp->dm_vars.priv_vars;
+
+ if (!glXMakeCurrent(pubvars->dpy,
+ pubvars->win,
+ privars->glxc)) {
bu_log("ogl_configureWin: Couldn't make context current\n");
return BRLCAD_ERROR;
}
@@ -463,6 +476,7 @@
HIDDEN XVisualInfo *
ogl_choose_visual(struct dm_internal *dmp, Tk_Window tkwin)
{
+ struct dm_xvars *pubvars = (struct dm_xvars *)dmp->dm_vars.pub_vars;
struct modifiable_ogl_vars *mvars = (struct modifiable_ogl_vars
*)dmp->m_vars;
XVisualInfo *vip, vitemp, *vibase, *maxvip;
int tries, baddepth;
@@ -493,9 +507,9 @@
/* Try to satisfy the above desires with a color visual of the
* greatest depth */
- vibase = XGetVisualInfo(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
+ vibase = XGetVisualInfo(pubvars->dpy,
0, &vitemp, &num);
- screen = DefaultScreen(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy);
+ screen = DefaultScreen(pubvars->dpy);
good = (int *)bu_malloc(sizeof(int)*num, "alloc good visuals");
@@ -505,17 +519,17 @@
if (vip->screen != screen)
continue;
- fail = glXGetConfig(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
+ fail = glXGetConfig(pubvars->dpy,
vip, GLX_USE_GL, &use);
if (fail || !use)
continue;
- fail = glXGetConfig(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
+ fail = glXGetConfig(pubvars->dpy,
vip, GLX_RGBA, &rgba);
if (fail || !rgba)
continue;
- fail = glXGetConfig(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
+ fail = glXGetConfig(pubvars->dpy,
vip, GLX_DOUBLEBUFFER, &dbfr);
if (fail || !dbfr)
continue;
@@ -522,7 +536,7 @@
/* desires */
if (m_zbuffer) {
- fail = glXGetConfig(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->dpy,
+ fail = glXGetConfig(pubvars->dpy,
vip, GLX_DEPTH_SIZE, &zbuffer);
if (fail || !zbuffer)
continue;
@@ -529,7 +543,7 @@
}
if (m_stereo) {
- fail = glXGetConfig(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->dpy,
+ fail = glXGetConfig(pubvars->dpy,
vip, GLX_STEREO, &stereo);
if (fail || !stereo) {
bu_log("ogl_choose_visual: failed visual - GLX_STEREO\n");
@@ -553,16 +567,16 @@
}
}
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->cmap =
- XCreateColormap(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->dpy,
- RootWindow(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->dpy,
+ pubvars->cmap =
+ XCreateColormap(pubvars->dpy,
+ RootWindow(pubvars->dpy,
maxvip->screen), maxvip->visual,
AllocNone);
if (Tk_SetWindowVisual(tkwin,
maxvip->visual, maxvip->depth,
- ((struct dm_xvars
*)dmp->dm_vars.pub_vars)->cmap)) {
+ pubvars->cmap)) {
- glXGetConfig(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->dpy,
+ glXGetConfig(pubvars->dpy,
maxvip, GLX_DEPTH_SIZE,
&mvars->depth);
if (mvars->depth > 0)
@@ -573,8 +587,8 @@
} else {
/* retry with lesser depth */
baddepth = maxvip->depth;
- XFreeColormap(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars
*)dmp->dm_vars.pub_vars)->cmap);
+ XFreeColormap(pubvars->dpy,
+ pubvars->cmap);
}
}
}
@@ -607,19 +621,22 @@
HIDDEN int
ogl_close(struct dm_internal *dmp)
{
- if (((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy) {
- if (((struct ogl_vars *)dmp->dm_vars.priv_vars)->glxc) {
- glXMakeCurrent(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
None, NULL);
- glXDestroyContext(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct ogl_vars
*)dmp->dm_vars.priv_vars)->glxc);
+ struct dm_xvars *pubvars = (struct dm_xvars *)dmp->dm_vars.pub_vars;
+ struct ogl_vars *privars = (struct ogl_vars *)dmp->dm_vars.priv_vars;
+
+ if (pubvars->dpy) {
+ if (privars->glxc) {
+ glXMakeCurrent(pubvars->dpy, None, NULL);
+ glXDestroyContext(pubvars->dpy,
+ privars->glxc);
}
- if (((struct dm_xvars *)dmp->dm_vars.pub_vars)->cmap)
- XFreeColormap(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->cmap);
+ if (pubvars->cmap)
+ XFreeColormap(pubvars->dpy,
+ pubvars->cmap);
- if (((struct dm_xvars *)dmp->dm_vars.pub_vars)->xtkwin)
- Tk_DestroyWindow(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->xtkwin);
+ if (pubvars->xtkwin)
+ Tk_DestroyWindow(pubvars->xtkwin);
}
bu_vls_free(&dmp->dm_pathName);
@@ -1004,6 +1021,7 @@
ogl_share_dlist(struct dm_internal *dmp1, struct dm_internal *dmp2)
{
struct modifiable_ogl_vars *mvars = (struct modifiable_ogl_vars
*)dmp1->m_vars;
+ struct ogl_vars *privars = (struct ogl_vars *)dmp1->dm_vars.priv_vars;
GLfloat backgnd[4];
GLfloat vf;
GLXContext old_glxContext;
@@ -1014,14 +1032,14 @@
if (dmp2 == (struct dm_internal *)NULL) {
/* create a new graphics context for dmp1 with private display lists */
- old_glxContext = ((struct ogl_vars *)dmp1->dm_vars.priv_vars)->glxc;
+ old_glxContext = privars->glxc;
- if ((((struct ogl_vars *)dmp1->dm_vars.priv_vars)->glxc =
+ if ((privars->glxc =
glXCreateContext(((struct dm_xvars *)dmp1->dm_vars.pub_vars)->dpy,
((struct dm_xvars *)dmp1->dm_vars.pub_vars)->vip,
(GLXContext)NULL, GL_TRUE))==NULL) {
bu_log("ogl_share_dlist: couldn't create glXContext.\nUsing old
context\n.");
- ((struct ogl_vars *)dmp1->dm_vars.priv_vars)->glxc = old_glxContext;
+ privars->glxc = old_glxContext;
return BRLCAD_ERROR;
}
@@ -1028,23 +1046,23 @@
if (!glXMakeCurrent(((struct dm_xvars *)dmp1->dm_vars.pub_vars)->dpy,
((struct dm_xvars *)dmp1->dm_vars.pub_vars)->win,
- ((struct ogl_vars
*)dmp1->dm_vars.priv_vars)->glxc)) {
+ privars->glxc)) {
bu_log("ogl_share_dlist: Couldn't make context current\nUsing old
context\n.");
- ((struct ogl_vars *)dmp1->dm_vars.priv_vars)->glxc = old_glxContext;
+ privars->glxc = old_glxContext;
return BRLCAD_ERROR;
}
/* display list (fontOffset + char) will display a given ASCII char */
- if ((((struct ogl_vars *)dmp1->dm_vars.priv_vars)->fontOffset =
glGenLists(128))==0) {
+ if ((privars->fontOffset = glGenLists(128))==0) {
bu_log("dm-ogl: Can't make display lists for font.\nUsing old
context\n.");
- ((struct ogl_vars *)dmp1->dm_vars.priv_vars)->glxc = old_glxContext;
+ privars->glxc = old_glxContext;
return BRLCAD_ERROR;
}
/* This is the applications display list offset */
- dmp1->dm_displaylist = ((struct ogl_vars
*)dmp1->dm_vars.priv_vars)->fontOffset + 128;
+ dmp1->dm_displaylist = privars->fontOffset + 128;
ogl_setBGColor(dmp1, 0, 0, 0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
@@ -1079,13 +1097,13 @@
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-xlim_view, xlim_view, -ylim_view, ylim_view, 0.0, 2.0);
- glGetDoublev(GL_PROJECTION_MATRIX, ((struct ogl_vars
*)dmp1->dm_vars.priv_vars)->faceplate_mat);
+ glGetDoublev(GL_PROJECTION_MATRIX, privars->faceplate_mat);
glPushMatrix();
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glPushMatrix();
glLoadIdentity();
- ((struct ogl_vars *)dmp1->dm_vars.priv_vars)->face_flag = 1; /*
faceplate matrix is on top of stack */
+ privars->face_flag = 1; /* faceplate matrix is on top of stack */
/* destroy old context */
glXMakeCurrent(((struct dm_xvars *)dmp1->dm_vars.pub_vars)->dpy, None,
NULL);
@@ -1098,7 +1116,7 @@
if ((((struct ogl_vars *)dmp2->dm_vars.priv_vars)->glxc =
glXCreateContext(((struct dm_xvars *)dmp2->dm_vars.pub_vars)->dpy,
((struct dm_xvars *)dmp2->dm_vars.pub_vars)->vip,
- ((struct ogl_vars
*)dmp1->dm_vars.priv_vars)->glxc,
+ privars->glxc,
GL_TRUE))==NULL) {
bu_log("ogl_share_dlist: couldn't create glXContext.\nUsing old
context\n.");
((struct ogl_vars *)dmp2->dm_vars.priv_vars)->glxc = old_glxContext;
@@ -1115,7 +1133,7 @@
return BRLCAD_ERROR;
}
- ((struct ogl_vars *)dmp2->dm_vars.priv_vars)->fontOffset = ((struct
ogl_vars *)dmp1->dm_vars.priv_vars)->fontOffset;
+ ((struct ogl_vars *)dmp2->dm_vars.priv_vars)->fontOffset =
privars->fontOffset;
dmp2->dm_displaylist = dmp1->dm_displaylist;
ogl_setBGColor(dmp2, 0, 0, 0);
@@ -1171,7 +1189,10 @@
HIDDEN int
ogl_drawBegin(struct dm_internal *dmp)
{
+ struct dm_xvars *pubvars = (struct dm_xvars *)dmp->dm_vars.pub_vars;
struct modifiable_ogl_vars *mvars = (struct modifiable_ogl_vars
*)dmp->m_vars;
+ struct ogl_vars *privars = (struct ogl_vars *)dmp->dm_vars.priv_vars;
+
GLfloat fogdepth;
if (dmp->dm_debugLevel) {
@@ -1196,9 +1217,9 @@
- if (!glXMakeCurrent(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->win,
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->glxc)) {
+ if (!glXMakeCurrent(pubvars->dpy,
+ pubvars->win,
+ privars->glxc)) {
bu_log("ogl_drawBegin: Couldn't make context current\n");
return BRLCAD_ERROR;
}
@@ -1205,19 +1226,19 @@
/* clear back buffer */
if (!dmp->dm_clearBufferAfter && mvars->doublebuffer) {
- glClearColor(((struct ogl_vars *)dmp->dm_vars.priv_vars)->r,
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->g,
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->b,
+ glClearColor(privars->r,
+ privars->g,
+ privars->b,
0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
}
- if (((struct ogl_vars *)dmp->dm_vars.priv_vars)->face_flag) {
+ if (privars->face_flag) {
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->face_flag = 0;
+ privars->face_flag = 0;
if (mvars->cueing_on) {
glEnable(GL_FOG);
/*XXX Need to do something with Viewscale */
@@ -1257,7 +1278,10 @@
HIDDEN int
ogl_drawEnd(struct dm_internal *dmp)
{
+ struct dm_xvars *pubvars = (struct dm_xvars *)dmp->dm_vars.pub_vars;
struct modifiable_ogl_vars *mvars = (struct modifiable_ogl_vars
*)dmp->m_vars;
+ struct ogl_vars *privars = (struct ogl_vars *)dmp->dm_vars.priv_vars;
+
if (dmp->dm_debugLevel)
bu_log("ogl_drawEnd\n");
@@ -1282,14 +1306,14 @@
}
if (mvars->doublebuffer) {
- glXSwapBuffers(((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy,
- ((struct dm_xvars *)dmp->dm_vars.pub_vars)->win);
+ glXSwapBuffers(pubvars->dpy,
+ pubvars->win);
if (dmp->dm_clearBufferAfter) {
/* give Graphics pipe time to work */
- glClearColor(((struct ogl_vars *)dmp->dm_vars.priv_vars)->r,
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->g,
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->b,
+ glClearColor(privars->r,
+ privars->g,
+ privars->b,
0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
}
@@ -1436,15 +1460,17 @@
fastf_t *mptr;
GLfloat gtmat[16];
+ struct ogl_vars *privars = (struct ogl_vars *)dmp->dm_vars.priv_vars;
+
glMatrixMode(GL_PROJECTION);
if (mat == (fastf_t *)NULL) {
- if (((struct ogl_vars *)dmp->dm_vars.priv_vars)->face_flag) {
+ if (privars->face_flag) {
glPopMatrix();
glLoadIdentity();
glOrtho(-xlim_view, xlim_view, -ylim_view, ylim_view,
dmp->dm_clipmin[2], dmp->dm_clipmax[2]);
glPushMatrix();
- glLoadMatrixd(((struct ogl_vars
*)dmp->dm_vars.priv_vars)->faceplate_mat);
+ glLoadMatrixd(privars->faceplate_mat);
} else {
glLoadIdentity();
glOrtho(-xlim_view, xlim_view, -ylim_view, ylim_view,
dmp->dm_clipmin[2], dmp->dm_clipmax[2]);
@@ -1486,6 +1512,8 @@
ogl_drawVListHiddenLine(struct dm_internal *dmp, register struct bn_vlist *vp)
{
struct modifiable_ogl_vars *mvars = (struct modifiable_ogl_vars
*)dmp->m_vars;
+ struct ogl_vars *privars = (struct ogl_vars *)dmp->dm_vars.priv_vars;
+
register struct bn_vlist *tvp;
register int first;
@@ -1508,9 +1536,9 @@
glPolygonOffset(1.0, 1.0);
/* Set color to background color for drawing polygons. */
- glColor3f(((struct ogl_vars *)dmp->dm_vars.priv_vars)->r,
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->g,
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->b);
+ glColor3f(privars->r,
+ privars->g,
+ privars->b);
/* Viewing region is from -1.0 to +1.0 */
first = 1;
@@ -1864,6 +1892,8 @@
ogl_normal(struct dm_internal *dmp)
{
struct modifiable_ogl_vars *mvars = (struct modifiable_ogl_vars
*)dmp->m_vars;
+ struct ogl_vars *privars = (struct ogl_vars *)dmp->dm_vars.priv_vars;
+
if (dmp->dm_debugLevel)
bu_log("ogl_normal\n");
@@ -1880,14 +1910,14 @@
bu_vls_free(&tmp_vls);
}
- if (!((struct ogl_vars *)dmp->dm_vars.priv_vars)->face_flag) {
+ if (!privars->face_flag) {
glMatrixMode(GL_PROJECTION);
glPushMatrix();
- glLoadMatrixd(((struct ogl_vars
*)dmp->dm_vars.priv_vars)->faceplate_mat);
+ glLoadMatrixd(privars->faceplate_mat);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
- ((struct ogl_vars *)dmp->dm_vars.priv_vars)->face_flag = 1;
+ privars->face_flag = 1;
if (mvars->cueing_on)
glDisable(GL_FOG);
if (dmp->dm_light)
@@ -1918,6 +1948,7 @@
HIDDEN int
ogl_drawString2D(struct dm_internal *dmp, const char *str, fastf_t x, fastf_t
y, int UNUSED(size), int use_aspect)
{
+ struct ogl_vars *privars = (struct ogl_vars *)dmp->dm_vars.priv_vars;
if (dmp->dm_debugLevel)
bu_log("ogl_drawString2D()\n");
@@ -1926,7 +1957,7 @@
else
glRasterPos2f(x, y);
- glListBase(((struct ogl_vars *)dmp->dm_vars.priv_vars)->fontOffset);
+ glListBase(privars->fontOffset);
glCallLists(strlen(str), GL_UNSIGNED_BYTE, str);
return BRLCAD_OK;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits