コード例 #1
0
ファイル: Control.c プロジェクト: aghozlane/pymol
static int ControlDrag(Block * block, int x, int y, int mod)
{
  int width;
  int delta;
  int gui_width;
  PyMOLGlobals *G = block->G;
  register CControl *I = G->Control;
  if(!I->SkipRelease) {
    delta = x - I->LastPos;
    if(I->DragFlag) {
      if(delta) {
        gui_width = (int) SettingGet(G, cSetting_internal_gui_width) - delta;
        if(gui_width < cControlMinWidth)
          gui_width = cControlMinWidth;
        delta = (int) SettingGet(G, cSetting_internal_gui_width) - gui_width;
        width = OrthoGetWidth(G) + delta;
        I->LastPos = x;
        I->SaveWidth = 0;
        SettingSet(G, cSetting_internal_gui_width, (float) gui_width);
        OrthoReshape(G, -1, -1, false);
      }
    } else {
      I->Active = which_button(I, x, y);
      if(I->Active != I->Pressed)
        I->Active = -1;
      OrthoDirty(G);
    }
  }
  return (1);
}
コード例 #2
0
ファイル: Control.c プロジェクト: aghozlane/pymol
/*========================================================================*/
int ControlIdling(PyMOLGlobals * G)
{
  CControl *I = G->Control;
  return (I->sdofActive ||
          MoviePlaying(G) ||
          SettingGetGlobal_b(G, cSetting_rock) || SettingGet(G, cSetting_sculpting));
}
コード例 #3
0
ファイル: SafeClick.cpp プロジェクト: AlphaPo325/Xenon
void SafeClickInit(bool bIsInit)
{
	if (bIsInit)
	{
		if (SettingGet("SafeClick"))
		{
			PlantDetourCall((BYTE *)dwGameDll + 0x54D97F, (BYTE *)(DWORD_PTR)SendAction_interception, 5);
			bIsSafeClickEnable = true;
		}

		return;
	}

	if (!bIsSafeClickEnable)
	{
		PlantDetourCall((BYTE *)dwGameDll + 0x54D97F, (BYTE *)(DWORD_PTR)SendAction_interception, 5);
		TextPrint("|CFFFCD211Xenon|R: SafeClick turned |CFF00FF00On|R.");
		bIsSafeClickEnable = true;
	}
	else
	{
		Patch(dwGameDll + 0x54D97F, "\xE8\x4C\x5B\xF7\xFF", 5);
		TextPrint("|CFFFCD211Xenon|R: SafeClick turned |CFFFF0000Off|R.");
		bIsSafeClickEnable = false;
	}
}
コード例 #4
0
ファイル: Control.c プロジェクト: aghozlane/pymol
/*========================================================================*/
static int ControlClick(Block * block, int button, int x, int y, int mod)
{
  PyMOLGlobals *G = block->G;
  register CControl *I = G->Control;
  I->SkipRelease = false;
  if(x < (I->Block->rect.left + cControlLeftMargin)) {
    y -= I->Block->rect.top - cControlTopMargin;
    if((y <= 0) && (y > (-cControlBoxSize))) {
      double now = UtilGetSeconds(block->G);
      if((now - I->LastClickTime) < 0.35) {
        if(I->SaveWidth) {
          SettingSet(G, cSetting_internal_gui_width, (float) I->SaveWidth);
          OrthoReshape(G, -1, -1, false);
          I->SaveWidth = 0;
        } else {
          I->SaveWidth = (int) SettingGet(G, cSetting_internal_gui_width);
          SettingSet(G, cSetting_internal_gui_width, (float) cControlMinWidth);
          OrthoReshape(G, -1, -1, false);
        }
        I->SkipRelease = true;
      } else {
        I->LastPos = x;
        OrthoGrab(G, block);
        I->DragFlag = true;
        I->LastClickTime = UtilGetSeconds(G);
      }
    }
  } else {
    I->Pressed = which_button(I, x, y);
    I->Active = I->Pressed;
    if(I->Pressed)
      OrthoGrab(G, block);
    OrthoDirty(G);
  }
  return (1);
}
コード例 #5
0
void InstantGameStartInit()
{
	if (SettingGet("Instant Game Start"))
		InstantGameStart();
}
コード例 #6
0
ファイル: RepLabel.c プロジェクト: aghozlane/pymol
static void RepLabelRender(RepLabel * I, RenderInfo * info)
{
  CRay *ray = info->ray;
  Picking **pick = info->pick;
  PyMOLGlobals *G = I->R.G;
  float *v = I->V;
  int c = I->N;
  int *l = I->L;
  int font_id = SettingGet_i(G, I->R.cs->Setting, I->R.obj->Setting,
                             cSetting_label_font_id);
  float font_size = SettingGet_f(G, I->R.cs->Setting, I->R.obj->Setting,
                                 cSetting_label_size);

  if(ray) {
    if(c) {
      char *st;
      TextSetOutlineColor(G, I->OutlineColor);
      while(c--) {
        if(*l) {
          st = OVLexicon_FetchCString(G->Lexicon, *l);
          TextSetPosNColor(G, v + 3, v);
          TextRenderRay(G, ray, font_id, st, font_size, v + 6);
        }
        v += 9;
        l++;
      }
    }
  } else if(G->HaveGUI && G->ValidContext) {
    if(pick) {
      Pickable *p = I->R.P;
      int i;
      if(c) {
        char *st;
        int float_text = (int) SettingGet(G, cSetting_float_labels);
        if(float_text)
          glDisable(GL_DEPTH_TEST);

        i = (*pick)->src.index;
        while(c--) {
          if(*l) {
            int first_pass = (!(*pick)[0].src.bond);
            i++;
            TextSetPosNColor(G, v + 3, v);
            TextSetPickColor(G, first_pass, i);
            if(first_pass) {
              VLACheck((*pick), Picking, i);
              p++;
              (*pick)[i].src = *p;      /* copy object and atom info */
              (*pick)[i].context = I->R.context;
            }
            st = OVLexicon_FetchCString(G->Lexicon, *l);
            TextRenderOpenGL(G, info, font_id, st, font_size, v + 6);
          }
          l++;
          v += 9;
        }
        if(float_text)
          glEnable(GL_DEPTH_TEST);
        (*pick)[0].src.index = i;       /* pass the count */
      }
    } else {
      if(c) {
        char *st;
        int float_text = (int) SettingGet(G, cSetting_float_labels);
        if(float_text)
          glDisable(GL_DEPTH_TEST);
#ifdef PURE_OPENGL_ES_2
    /* TODO */
#else
        if(!info->line_lighting)
          glDisable(GL_LIGHTING);
#endif
        TextSetOutlineColor(G, I->OutlineColor);
        while(c--) {
          if(*l) {
            TextSetPosNColor(G, v + 3, v);
            st = OVLexicon_FetchCString(G->Lexicon, *l);
            TextRenderOpenGL(G, info, font_id, st, font_size, v + 6);
          }
          l++;
          v += 9;
        }
#ifdef PURE_OPENGL_ES_2
    /* TODO */
#else
        glEnable(GL_LIGHTING);
#endif
        glEnable(GL_BLEND);
        if(float_text)
          glEnable(GL_DEPTH_TEST);
      }
    }
  }
}
コード例 #7
0
ファイル: Control.c プロジェクト: aghozlane/pymol
/*========================================================================*/
static void ControlDraw(Block * block)
{
  PyMOLGlobals *G = block->G;
  register CControl *I = G->Control;
  int x, y;
  int nButton = I->NButton;
  int but_num;
  float lightEdge[3] = { 0.65F, 0.65F, 0.65F };
  float darkEdge[3] = { 0.3F, 0.3F, 0.3F };
  float pushed[3] = { 0.8F, 0.8F, 0.8F };

  if(G->HaveGUI && G->ValidContext) {

    int control_width = I->Block->rect.right - (I->Block->rect.left + cControlLeftMargin);

#ifdef PURE_OPENGL_ES_2      
      /* TODO */
#else
    glColor3fv(I->Block->BackColor);
#endif
    BlockFill(I->Block);
#ifdef PURE_OPENGL_ES_2      
      /* TODO */
#else
    glColor3fv(I->Block->TextColor);
#endif
    {
      int top, left, bottom, right;

      left = I->Block->rect.left + 1;
      bottom = I->Block->rect.bottom + 1;
      top = I->Block->rect.top - (cControlTopMargin - 1);
      right = left + 5;

      /* This draws the separator on the left side of the movie control buttons */
#ifdef PURE_OPENGL_ES_2
    /* TODO */
#else
#ifdef _PYMOL_GL_DRAWARRAYS
      {
	const GLint polyVerts[] = {
	  right, top,
	  right, bottom,
	  left, bottom,
	  
	  left, bottom,
	  left, top,
	  right, top,
	  
	  right, top - 1,
	  right, bottom,
	  left + 1, bottom,
	  
	  left + 1, bottom,
	  left + 1, top - 1,
	  right, top - 1,
	  
	  right - 1, top - 1,
	  right - 1, bottom + 1,
	  left + 1, bottom + 1,
	  
	  left + 1, bottom + 1,
	  left + 1, top - 1,
	  right - 1, top - 1,
	};
	
	const GLfloat colorVerts[] = {
	  0.8F, 0.8F, 0.8F, 1.f,
	  0.8F, 0.8F, 0.8F, 1.f,
	  0.8F, 0.8F, 0.8F, 1.f,
	  0.8F, 0.8F, 0.8F, 1.f,
	  0.8F, 0.8F, 0.8F, 1.f,
	  0.8F, 0.8F, 0.8F, 1.f,
	  
	  0.3F, 0.3F, 0.3F, 1.f,
	  0.3F, 0.3F, 0.3F, 1.f,
	  0.3F, 0.3F, 0.3F, 1.f,
	  0.3F, 0.3F, 0.3F, 1.f,
	  0.3F, 0.3F, 0.3F, 1.f,
	  0.3F, 0.3F, 0.3F, 1.f,
	  
	  I->ButtonColor[0], I->ButtonColor[1], I->ButtonColor[2], 1.f,
	  I->ButtonColor[0], I->ButtonColor[1], I->ButtonColor[2], 1.f,
	  I->ButtonColor[0], I->ButtonColor[1], I->ButtonColor[2], 1.f,
	  I->ButtonColor[0], I->ButtonColor[1], I->ButtonColor[2], 1.f,
	  I->ButtonColor[0], I->ButtonColor[1], I->ButtonColor[2], 1.f,
	  I->ButtonColor[0], I->ButtonColor[1], I->ButtonColor[2], 1.f
	};
	
	glEnableClientState(GL_VERTEX_ARRAY);
	glEnableClientState(GL_COLOR_ARRAY);
	glColorPointer(4, GL_FLOAT, 0, colorVerts);
	glVertexPointer(2, GL_INT, 0, polyVerts);
	glDrawArrays(GL_TRIANGLES, 0, 18);
	glDisableClientState(GL_VERTEX_ARRAY);
	glDisableClientState(GL_COLOR_ARRAY);
      }
#else
      glColor3f(0.8F, 0.8F, 0.8F);
      glBegin(GL_POLYGON);
      glVertex2i(right, top);
      glVertex2i(right, bottom);
      glVertex2i(left, bottom);
      glVertex2i(left, top);
      glEnd();

      glColor3f(0.3F, 0.3F, 0.3F);
      glBegin(GL_POLYGON);
      glVertex2i(right, top - 1);
      glVertex2i(right, bottom);
      glVertex2i(left + 1, bottom);
      glVertex2i(left + 1, top - 1);
      glEnd();

      glColor3fv(I->ButtonColor);

      glBegin(GL_POLYGON);
      glVertex2i(right - 1, top - 1);
      glVertex2i(right - 1, bottom + 1);
      glVertex2i(left + 1, bottom + 1);
      glVertex2i(left + 1, top - 1);
      glEnd();
#endif
#endif
    }

    y = I->Block->rect.top - cControlTopMargin;

    for(but_num = 0; but_num < nButton; but_num++) {
      int but_width;
      int but_left;
      int but_bottom;
      int but_height;

      but_left =
        I->Block->rect.left + cControlLeftMargin + (but_num * control_width) / nButton;
      but_width =
        (((but_num + 1) * control_width / nButton) -
         ((but_num) * control_width / nButton)) - 1;

      but_bottom = y - (cControlBoxSize - 1);
      but_height = cControlBoxSize;

      if((but_num == I->Active)) {
        draw_button(but_left, but_bottom,
                    but_width, but_height, lightEdge, darkEdge, pushed);
      } else if(((but_num == 6) && ((int) SettingGet(G, cSetting_seq_view))) ||
                ((but_num == 3) && (MoviePlaying(G))) ||
                ((but_num == 7) && (SettingGetGlobal_b(G, cSetting_rock))) ||
                ((but_num == 8) && (SettingGetGlobal_b(G, cSetting_full_screen)))) {
        draw_button(but_left, but_bottom,
                    but_width, but_height, lightEdge, darkEdge, I->ActiveColor);
      } else {
        draw_button(but_left, but_bottom,
                    but_width, but_height, lightEdge, darkEdge, I->ButtonColor);
      }

      if(control_width > 100) {
        x = but_left + (but_width - cControlBoxSize) / 2;

#ifdef PURE_OPENGL_ES_2      
      /* TODO */
#else
        glColor3fv(I->Block->TextColor);
#endif
        switch (but_num) {
        case 0:
#ifdef PURE_OPENGL_ES_2
    /* TODO */
#else
#ifdef _PYMOL_GL_DRAWARRAYS
	  {
	    const GLint polyVerts[] = {
	      x + (cControlBoxSize - 1) - cControlInnerMargin, y - cControlInnerMargin,
	      x + (cControlBoxSize - 1) - cControlInnerMargin, y - (cControlBoxSize - 1) + cControlInnerMargin,
	      x + cControlInnerMargin, y - (cControlBoxSize / 2)
	    };
	    glEnableClientState(GL_VERTEX_ARRAY);
	    glVertexPointer(2, GL_INT, 0, polyVerts);
	    glDrawArrays(GL_TRIANGLES, 0, 3);
	    glDisableClientState(GL_VERTEX_ARRAY);
	  }
	  {
	    const GLint lineVerts[] = {
	      x + cControlInnerMargin, y - cControlInnerMargin,
	      x + cControlInnerMargin, y - (cControlBoxSize - 1) + cControlInnerMargin
	    };
	    glEnableClientState(GL_VERTEX_ARRAY);
	    glVertexPointer(2, GL_INT, 0, lineVerts);
	    glDrawArrays(GL_LINES, 0, 2);
	    glDisableClientState(GL_VERTEX_ARRAY);
	  }
#else
          glBegin(GL_TRIANGLES);
          glVertex2i(x + (cControlBoxSize - 1) - cControlInnerMargin,
                     y - cControlInnerMargin);
          glVertex2i(x + (cControlBoxSize - 1) - cControlInnerMargin,
                     y - (cControlBoxSize - 1) + cControlInnerMargin);
          glVertex2i(x + cControlInnerMargin, y - (cControlBoxSize / 2));
          glEnd();
          glBegin(GL_LINES);
          glVertex2i(x + cControlInnerMargin, y - cControlInnerMargin);
          glVertex2i(x + cControlInnerMargin,
                     y - (cControlBoxSize - 1) + cControlInnerMargin);
          glEnd();
#endif
#endif
          break;

        case 1:
#ifdef PURE_OPENGL_ES_2
    /* TODO */
#else
#ifdef _PYMOL_GL_DRAWARRAYS
	  {
	    const GLint polyVerts[] = {
	      x + cControlBoxSize / 2 + 2, y - (cControlBoxSize / 2),
	      x + (cControlBoxSize - 1) - cControlInnerMargin, y - cControlInnerMargin,
	      x + (cControlBoxSize - 1) - cControlInnerMargin, y - (cControlBoxSize - 1) + cControlInnerMargin,
	      x + cControlInnerMargin, y - (cControlBoxSize / 2)
	    };
	    glEnableClientState(GL_VERTEX_ARRAY);
	    glVertexPointer(2, GL_INT, 0, polyVerts);
	    glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
	    glDisableClientState(GL_VERTEX_ARRAY);
	  }
#else
          glBegin(GL_POLYGON);
          glVertex2i(x + cControlBoxSize / 2 + 2, y - (cControlBoxSize / 2));
          glVertex2i(x + (cControlBoxSize - 1) - cControlInnerMargin,
                     y - cControlInnerMargin);
          glVertex2i(x + cControlInnerMargin, y - (cControlBoxSize / 2));
          glVertex2i(x + (cControlBoxSize - 1) - cControlInnerMargin,
                     y - (cControlBoxSize - 1) + cControlInnerMargin);
          glEnd();
#endif
#endif
          break;
        case 2:
#ifdef PURE_OPENGL_ES_2
    /* TODO */
#else
#ifdef _PYMOL_GL_DRAWARRAYS
	  {
	    const GLint polyVerts[] = {
	      x + cControlInnerMargin, y - cControlInnerMargin,
	      x + cControlInnerMargin, y - (cControlBoxSize - 1) + cControlInnerMargin,
	      x + (cControlBoxSize - 1) - cControlInnerMargin, y - cControlInnerMargin,
	      x + (cControlBoxSize - 1) - cControlInnerMargin, y - (cControlBoxSize - 1) + cControlInnerMargin
	    };
	    glEnableClientState(GL_VERTEX_ARRAY);
	    glVertexPointer(2, GL_INT, 0, polyVerts);
	    glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
	    glDisableClientState(GL_VERTEX_ARRAY);
	  }
#else
          glBegin(GL_POLYGON);
          glVertex2i(x + cControlInnerMargin, y - cControlInnerMargin);
          glVertex2i(x + cControlInnerMargin,
                     y - (cControlBoxSize - 1) + cControlInnerMargin);
          glVertex2i(x + (cControlBoxSize - 1) - cControlInnerMargin,
                     y - (cControlBoxSize - 1) + cControlInnerMargin);
          glVertex2i(x + (cControlBoxSize - 1) - cControlInnerMargin,
                     y - cControlInnerMargin);
          glEnd();
#endif
#endif
          break;

        case 3:
#ifdef PURE_OPENGL_ES_2
    /* TODO */
#else
#ifdef _PYMOL_GL_DRAWARRAYS
	  {
	    const GLint polyVerts[] = {
	      x + cControlInnerMargin, y - cControlInnerMargin + 1,
	      x + cControlInnerMargin, y - (cControlBoxSize - 1) + cControlInnerMargin - 1,
	      x + (cControlBoxSize) - cControlInnerMargin, y - (cControlBoxSize / 2)
	    };
	    glEnableClientState(GL_VERTEX_ARRAY);
	    glVertexPointer(2, GL_INT, 0, polyVerts);
	    glDrawArrays(GL_TRIANGLES, 0, 3);
	    glDisableClientState(GL_VERTEX_ARRAY);
	  }
#else
          glBegin(GL_TRIANGLES);
          glVertex2i(x + cControlInnerMargin, y - cControlInnerMargin + 1);
          glVertex2i(x + cControlInnerMargin,
                     y - (cControlBoxSize - 1) + cControlInnerMargin - 1);
          glVertex2i(x + (cControlBoxSize) - cControlInnerMargin,
                     y - (cControlBoxSize / 2));
          glEnd();
#endif
#endif
          break;
        case 4:
#ifdef PURE_OPENGL_ES_2
    /* TODO */
#else
#ifdef _PYMOL_GL_DRAWARRAYS
	  {
	    const GLint polyVerts[] = {
	      x + cControlBoxSize / 2 - 2, y - (cControlBoxSize / 2),
	      x + cControlInnerMargin, y - cControlInnerMargin,
	      x + cControlInnerMargin, y - (cControlBoxSize - 1) + cControlInnerMargin,
	      x + (cControlBoxSize - 1) - cControlInnerMargin, y - (cControlBoxSize / 2)
	    };	      
	    glEnableClientState(GL_VERTEX_ARRAY);
	    glVertexPointer(2, GL_INT, 0, polyVerts);
	    glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
	    glDisableClientState(GL_VERTEX_ARRAY);
	  }
#else
          glBegin(GL_POLYGON);
          glVertex2i(x + cControlBoxSize / 2 - 2, y - (cControlBoxSize / 2));
          glVertex2i(x + cControlInnerMargin, y - cControlInnerMargin);
          glVertex2i(x + (cControlBoxSize - 1) - cControlInnerMargin,
                     y - (cControlBoxSize / 2));
          glVertex2i(x + cControlInnerMargin,
                     y - (cControlBoxSize - 1) + cControlInnerMargin);
          glEnd();
#endif
#endif
          break;
        case 5:
#ifdef PURE_OPENGL_ES_2
    /* TODO */
#else
#ifdef _PYMOL_GL_DRAWARRAYS
	  {
	    const GLint polyVerts[] = {
	      x + cControlInnerMargin, y - cControlInnerMargin,
	      x + cControlInnerMargin, y - (cControlBoxSize - 1) + cControlInnerMargin,
	      x + (cControlBoxSize - 1) - cControlInnerMargin, y - (cControlBoxSize / 2)
	    };
	    glEnableClientState(GL_VERTEX_ARRAY);
	    glVertexPointer(2, GL_INT, 0, polyVerts);
	    glDrawArrays(GL_TRIANGLES, 0, 3);
	    glDisableClientState(GL_VERTEX_ARRAY);
	  }
	  {
	    const GLint lineVerts[] = {
	      x + (cControlBoxSize - 1) - cControlInnerMargin, y - cControlInnerMargin,
	      x + (cControlBoxSize - 1) - cControlInnerMargin, y - (cControlBoxSize - 1) + cControlInnerMargin
	    };
	    glEnableClientState(GL_VERTEX_ARRAY);
	    glVertexPointer(2, GL_INT, 0, lineVerts);
	    glDrawArrays(GL_LINES, 0, 2);
	    glDisableClientState(GL_VERTEX_ARRAY);
	  }
#else
          glBegin(GL_TRIANGLES);
          glVertex2i(x + cControlInnerMargin, y - cControlInnerMargin);
          glVertex2i(x + cControlInnerMargin,
                     y - (cControlBoxSize - 1) + cControlInnerMargin);
          glVertex2i(x + (cControlBoxSize - 1) - cControlInnerMargin,
                     y - (cControlBoxSize / 2));
          glEnd();
          glBegin(GL_LINES);
          glVertex2i(x + (cControlBoxSize - 1) - cControlInnerMargin,
                     y - cControlInnerMargin);
          glVertex2i(x + (cControlBoxSize - 1) - cControlInnerMargin,
                     y - (cControlBoxSize - 1) + cControlInnerMargin);
          glEnd();
#endif
#endif
          break;
        case 6:
          TextDrawStrAt(G, "S", x + cControlInnerMargin,
                        y - cControlBoxSize + cControlInnerMargin + 1);
          break;
        case 7:
          /*
             TextDrawStrAt(G,"R",x+cControlInnerMargin,
             y-cControlBoxSize+cControlInnerMargin+1); */
#ifdef PURE_OPENGL_ES_2
    /* TODO */
#else
#ifdef _PYMOL_GL_DRAWARRAYS
	  {
	    const GLint polyVerts[] = {
	      x + (cControlBoxSize / 2) + cControlSpread, y - cControlInnerMargin,
	      x + (cControlBoxSize / 2), y - (cControlBoxSize) + cControlInnerMargin,
	      x + (cControlBoxSize / 2) - cControlSpread, y - cControlInnerMargin
	    };	      
	    glEnableClientState(GL_VERTEX_ARRAY);
	    glVertexPointer(2, GL_INT, 0, polyVerts);
	    glDrawArrays(GL_TRIANGLES, 0, 3);
	    glDisableClientState(GL_VERTEX_ARRAY);
	  }
#else
          glBegin(GL_POLYGON);
          glVertex2i(x + (cControlBoxSize / 2) + cControlSpread, y - cControlInnerMargin);
          glVertex2i(x + (cControlBoxSize / 2),
                     y - (cControlBoxSize) + cControlInnerMargin);
          glVertex2i(x + (cControlBoxSize / 2) - cControlSpread, y - cControlInnerMargin);
          glEnd();
#endif
#endif
          break;
        case 8:
          TextDrawStrAt(G, "F", x + cControlInnerMargin,
                        y - cControlBoxSize + cControlInnerMargin + 1);
          break;
        }
      }
    }
#ifdef _MACPYMOL_XCODE
    if((I->Block->rect.bottom==0) && (!SettingGetGlobal_b(G,cSetting_full_screen))) {
      int x1 = I->Block->rect.right + 1;
      int y1 = I->Block->rect.bottom - 1;
      int x2 = I->Block->rect.right - 3;
      int y2 = I->Block->rect.bottom - 5;

      glColor3f(0.3F, 0.3F, 0.3F);
#ifdef PURE_OPENGL_ES_2
    /* TODO */
#else
#ifdef _PYMOL_GL_DRAWARRAYS
      {
	const GLint lineVerts[] = {
	  x1, y1,
	  x2, y2,
	  x1, y1 + 4,
	  x2 - 4, y2,
	  x1, y1 + 8,
	  x2 - 8, y2,
	  x1, y1 + 12,
	  x2 - 12, y2,
	  x1 - 4, y1 + 12,
	  x2 - 12, y2 + 4,
	  x1 - 8, y1 + 12,
	  x2 - 12, y2 + 8,
	  x1 - 12, y1 + 12,
	  x2 - 12, y2 + 12
	};	
	glEnableClientState(GL_VERTEX_ARRAY);
	glVertexPointer(2, GL_INT, 0, lineVerts);
	glDrawArrays(GL_LINES, 0, 14);
	glDisableClientState(GL_VERTEX_ARRAY);
      }
#else
      glBegin(GL_LINES);
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      x2 -= 4;
      y1 += 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      x2 -= 4;
      y1 += 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      x2 -= 4;
      y1 += 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      y2 += 4;
      x1 -= 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      y2 += 4;
      x1 -= 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      y2 += 4;
      x1 -= 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      glEnd();
#endif
#endif
      x1 = I->Block->rect.right + 1;
      y1 = I->Block->rect.bottom - 2;
      x2 = I->Block->rect.right - 2;
      y2 = I->Block->rect.bottom - 5;

#ifdef PURE_OPENGL_ES_2
    /* TODO */
#else
      glColor3f(0.85F, 0.85F, 0.85F);
#ifdef _PYMOL_GL_DRAWARRAYS
      {
	const GLint lineVerts[] = {
	  x1, y1,
	  x2, y2,
	  x1, y1 + 4,
	  x2 - 4, y2,
	  x1, y1 + 8,
	  x2 - 8, y2,
	  x1, y1 + 12,
	  x2 - 12, y2,
	  x1 - 4, y1 + 12,
	  x2 - 12, y2 + 4,
	  x1 - 8, y1 + 12,
	  x2 - 12, y2 + 8,
	  x1 - 12, y1 + 12,
	  x2 - 12, y2 + 12
	};	
	glEnableClientState(GL_VERTEX_ARRAY);
	glVertexPointer(2, GL_INT, 0, lineVerts);
	glDrawArrays(GL_LINES, 0, 14);
	glDisableClientState(GL_VERTEX_ARRAY);
      }
#else
      glBegin(GL_LINES);
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      x2 -= 4;
      y1 += 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      x2 -= 4;
      y1 += 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      x2 -= 4;
      y1 += 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      y2 += 4;
      x1 -= 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      y2 += 4;
      x1 -= 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      y2 += 4;
      x1 -= 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      glEnd();
#endif
#endif
      x1 = I->Block->rect.right + 1;
      y1 = I->Block->rect.bottom - 3;
      x2 = I->Block->rect.right - 1;
      y2 = I->Block->rect.bottom - 5;

#ifdef PURE_OPENGL_ES_2
    /* TODO */
#else
      glColor3f(0.7F, 0.7F, 0.7F);

#ifdef _PYMOL_GL_DRAWARRAYS
      {
	const GLint lineVerts[] = {
	  x1, y1,
	  x2, y2,
	  x1, y1 + 4,
	  x2 - 4, y2,
	  x1, y1 + 8,
	  x2 - 8, y2,
	  x1, y1 + 12,
	  x2 - 12, y2,
	  x1 - 4, y1 + 12,
	  x2 - 12, y2 + 4,
	  x1 - 8, y1 + 12,
	  x2 - 12, y2 + 8,
	  x1 - 12, y1 + 12,
	  x2 - 12, y2 + 12
	};	
	glEnableClientState(GL_VERTEX_ARRAY);
	glVertexPointer(2, GL_INT, 0, lineVerts);
	glDrawArrays(GL_LINES, 0, 14);
	glDisableClientState(GL_VERTEX_ARRAY);
      }
#else
      glBegin(GL_LINES);
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      x2 -= 4;
      y1 += 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      x2 -= 4;
      y1 += 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      x2 -= 4;
      y1 += 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      y2 += 4;
      x1 -= 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      y2 += 4;
      x1 -= 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      y2 += 4;
      x1 -= 4;
      glVertex2i(x1, y1);
      glVertex2i(x2, y2);
      glEnd();
#endif
#endif
    }
#endif
  }
}
コード例 #8
0
ファイル: Control.c プロジェクト: aghozlane/pymol
static int ControlRelease(Block * block, int button, int x, int y, int mod)
{
  PyMOLGlobals *G = block->G;
  register CControl *I = G->Control;

  int sel = 0;

  I->LastPos = x;
  sel = which_button(I, x, y);
  if(!I->SkipRelease) {
    switch (sel) {
    case 0:
      SceneSetFrame(G, 4, 0);
      PLog(G, "cmd.rewind()", cPLog_pym);
      break;
    case 1:
      SceneSetFrame(G, 5, -1);
      PLog(G, "cmd.back()", cPLog_pym);
      break;
    case 2:
      MoviePlay(G, cMovieStop);
      if(SettingGet(G, cSetting_sculpting))
        SettingSet(G, cSetting_sculpting, 0);
      if(SettingGetGlobal_b(G, cSetting_rock))
        SettingSetGlobal_b(G, cSetting_rock, false);
      ExecutiveDrawNow(G);
      OrthoDirty(G);
      PLog(G, "cmd.mstop()", cPLog_pym);
      break;
    case 3:
      if(!MoviePlaying(G)) {
        if(mod & cOrthoCTRL) {
          PLog(G, "cmd.rewind()", cPLog_pym);
          PLog(G, "cmd.mplay()", cPLog_pym);
          SceneSetFrame(G, 4, 0);
          MoviePlay(G, cMoviePlay);
        } else {
          PLog(G, "cmd.mplay()", cPLog_pym);
          MoviePlay(G, cMoviePlay);
        }
      } else {
        MoviePlay(G, cMovieStop);
        ExecutiveDrawNow(G);
        OrthoDirty(G);
        PLog(G, "cmd.mstop()", cPLog_pym);
      }
      break;
    case 4:
      SceneSetFrame(G, 5, 1);
      PLog(G, "cmd.forward()", cPLog_pym);
      break;
    case 5:
      if(mod & cOrthoCTRL) {
        SceneSetFrame(G, 3, 0);
        PLog(G, "cmd.middle()", cPLog_pym);
      } else {
        SceneSetFrame(G, 6, 0);
        PLog(G, "cmd.ending()", cPLog_pym);
      }
      break;
    case 6:
      if(SettingGetGlobal_b(G, cSetting_seq_view)) {
        SettingSetGlobal_b(G, cSetting_seq_view, 0);
        SeqChanged(G);
        PLog(G, "cmd.set('seq_view',0)", cPLog_pym);
      } else {
        SettingSetGlobal_b(G, cSetting_seq_view, 1);
        SeqChanged(G);
        PLog(G, "cmd.set('seq_view',1)", cPLog_pym);
      }
      OrthoDirty(G);
      break;
    case 7:
      SettingSetGlobal_b(G, cSetting_rock, !SettingGetGlobal_b(G, cSetting_rock));
      if(SettingGetGlobal_b(G, cSetting_rock)) {
        SceneRestartSweepTimer(G);
        PLog(G, "cmd.rock(1)", cPLog_pym);
      } else
        PLog(G, "cmd.rock(0)", cPLog_pym);
      SceneRestartFrameTimer(G);
      OrthoDirty(G);
      break;
    case 8:
      PLog(G, "cmd.fullscreen()", cPLog_pym);
      ExecutiveFullScreen(G, -1);
      break;
    }
    OrthoDirty(G);
    OrthoUngrab(G);
    I->LastClickTime = UtilGetSeconds(G);
    I->DragFlag = false;
    I->Active = -1;
    I->Pressed = -1;
  }
  return (1);
}
コード例 #9
0
void GrayHpUnderFogInit()
{
	if (SettingGet("Gray HP Under Fog"))
		PlantDetourCall((BYTE *)dwGameDll + 0x364BF2, (BYTE *)GrayHpUnderFog, 5);
}