Ejemplo n.º 1
0
 public static void DrawEffectExcitation(RectangleBox rect, RGBAColor col, double intensity, double depth = -1.0)
 {
     if (Globals.enableeffects)
     {
         UpdateDepth(depth);
         SetBlendMode(BlendModes.Add);
         Gl.glPushMatrix();
         Gl.glTranslated(rect.left, rect.bottom, currentdepth);
         double left = rect.Width * (1.0 - intensity);
         Gl.glBegin(Gl.GL_TRIANGLE_FAN);
         glColor4d(col.Fade(0));
         Gl.glVertex2d(left, 0);
         Gl.glVertex2d(left, rect.Height);
         glColor4d(col.Fade(0.5));
         Gl.glVertex2d(0.2 * left + 0.8 * rect.Width, rect.Height);
         Gl.glVertex2d(0.2 * left + 0.8 * rect.Width, 0);
         Gl.glEnd();
         Gl.glBegin(Gl.GL_TRIANGLE_FAN);
         glColor4d(col.Fade(0.5));
         Gl.glVertex2d(0.2 * left + 0.8 * rect.Width, 0);
         Gl.glVertex2d(0.2 * left + 0.8 * rect.Width, rect.Height);
         glColor4d(col);
         Gl.glVertex2d(rect.Width, rect.Height);
         Gl.glVertex2d(rect.Width, 0);
         Gl.glEnd();
         Gl.glPopMatrix();
         SetBlendMode(BlendModes.Normal);
     }
 }
Ejemplo n.º 2
0
        public static void DrawRectangle(RectangleBox rect, RGBAColor col, double borderwidth, double depth = -1.0, bool outer = false, bool glow = false)
        {
            UpdateDepth(depth);
            Gl.glPushMatrix();
            Gl.glTranslated(rect.left, rect.bottom, currentdepth);
            glColor4d(col);
            double rectw = rect.right - rect.left, recth = rect.top - rect.bottom;
            double borderwidthr = outer?-borderwidth:borderwidth;

            if (borderwidth <= 0)
            {
                Gl.glBegin(Gl.GL_TRIANGLE_FAN);
                Gl.glVertex2d(0, 0);
                Gl.glVertex2d(rectw, 0);
                Gl.glVertex2d(rectw, recth);
                Gl.glVertex2d(0, recth);
                Gl.glEnd();
            }
            else
            {
                Gl.glBegin(Gl.GL_TRIANGLE_FAN);
                Gl.glVertex2d(0, 0);
                Gl.glVertex2d(rectw, 0);
                if (glow)
                {
                    glColor4d(col.Fade(0.0));
                }
                Gl.glVertex2d(rectw - borderwidthr, borderwidthr);
                Gl.glVertex2d(borderwidthr, borderwidthr);
                Gl.glVertex2d(borderwidthr, recth - borderwidthr);
                if (glow)
                {
                    glColor4d(col);
                }
                Gl.glVertex2d(0, recth);
                Gl.glEnd();
                Gl.glBegin(Gl.GL_TRIANGLE_FAN);
                Gl.glVertex2d(rectw, recth);
                Gl.glVertex2d(rectw, 0);
                if (glow)
                {
                    glColor4d(col.Fade(0.0));
                }
                Gl.glVertex2d(rectw - borderwidthr, borderwidthr);
                Gl.glVertex2d(rectw - borderwidthr, recth - borderwidthr);
                Gl.glVertex2d(borderwidthr, recth - borderwidthr);
                if (glow)
                {
                    glColor4d(col);
                }
                Gl.glVertex2d(0, recth);
                Gl.glEnd();
            }
            Gl.glPopMatrix();
        }
Ejemplo n.º 3
0
 public static void DrawPieMark(RectangleBox rect, double xpos, double ypos, double size, double percent, RGBAColor col, string text, double depth = -1.0, bool bold = false)
 {
     UpdateDepth(depth);
     Gl.glPushMatrix();
     Gl.glTranslated(rect.left, rect.bottom, currentdepth);
     Gl.glPushMatrix();
     Gl.glTranslated(xpos, ypos, 0);
     glColor4d(col);
     if (bold)
     {
         Gl.glLineWidth(2);
     }
     Gl.glBegin(Gl.GL_LINE_STRIP);
     for (int i = 0; i <= 32; i++)
     {
         Gl.glVertex2d(-size * Math.Sin((double)i / 32 * 2 * Math.PI), size * Math.Cos((double)i / 32 * 2 * Math.PI));
     }
     Gl.glEnd();
     Gl.glLineWidth(1);
     glColor4d(col.Fade(0.5));
     Gl.glBegin(Gl.GL_TRIANGLE_FAN);
     Gl.glVertex2d(0, 0);
     for (int i = 0; i <= 32 * percent; i++)
     {
         Gl.glVertex2d(-0.8 * size * Math.Sin((double)i / 32 * 2 * Math.PI), 0.8 * size * Math.Cos((double)i / 32 * 2 * Math.PI));
     }
     Gl.glEnd();
     Gl.glPopMatrix();
     DrawString(xpos - 5, ypos - 5, text, new RGBAColor(1, 1, 1, 1));
     Gl.glPopMatrix();
 }