Пример #1
0
void SolidTexture::read(const string &prefix)
{
	backgroundColor = GetConfigColor(prefix, "Color", RGB(128, 128, 128));

	bevel = GetConfigBoolean(prefix, "Bevel");
	darkBevelColor = GetConfigColor(prefix, "DarkBevelColor", DarkenColor(backgroundColor));
	lightBevelColor = GetConfigColor(prefix, "LightBevelColor", LightenColor(backgroundColor));
}
Пример #2
0
void CRollupGripper::OnPaint()
{
	CPaintDC dc(this); // device context for painting

	if(m_bInit)
	{
		if(MemDC.m_hDC != NULL)
		{
			if(pOldMemBMP)
			{
				MemDC.SelectObject(pOldMemBMP);
#ifdef _DEBUG
				pOldMemBMP = NULL;
#endif
			}
			MemDC.DeleteDC();
		}
		MemDC.CreateCompatibleDC((CDC*)&dc);
		if(MemBMP.m_hObject != NULL)
			MemBMP.DeleteObject();
		MemBMP.CreateCompatibleBitmap((CDC*)&dc, RUP_GRIPPERWIDTH, RUP_GRIPPERHEIGHT);
		pOldMemBMP = MemDC.SelectObject(&MemBMP);

		m_bInit = false;
	}

	MemDC.FillSolidRect(0,0,RUP_GRIPPERWIDTH,RUP_GRIPPERHEIGHT,GetSysColor(COLOR_BTNFACE));

	switch(m_iState)
	{
		case GRIPPER_STATE_NORMAL:
		{
		//	COLORREF hicolor = GetSysColor(COLOR_3DSHADOW);
		//	COLORREF locolor = GetSysColor(COLOR_3DLIGHT);
			COLORREF hicolor = LightenColor(GetSysColor(COLOR_BTNFACE), -0x50);
			COLORREF locolor = LightenColor(GetSysColor(COLOR_BTNFACE),  0x10);

			int yp = 0;
			for(int yc = 0; yc < GRIPPER_ROWCOUNT; yc++, yp+=5)
			{
				int xp = 0;
				for(int xc = 0; xc < 12; xc++, xp+=5)
					DrawDot(&MemDC, xp, yp, locolor, hicolor);
			}
			break;
		}
		case GRIPPER_STATE_MOUSEOVER:
		{
		//	COLORREF hicolor = GetSysColor(COLOR_3DDKSHADOW);
		//	COLORREF locolor = GetSysColor(COLOR_3DHILIGHT);
			COLORREF hicolor = LightenColor(GetSysColor(COLOR_BTNFACE), -0x80);
			COLORREF locolor = LightenColor(GetSysColor(COLOR_BTNFACE),  0x80);

			int yp = 0;
			for(int yc = 0; yc < GRIPPER_ROWCOUNT; yc++, yp+=5)
			{
				int xp = 0;
				for(int xc = 0; xc < 12; xc++, xp+=5)
					DrawDot(&MemDC, xp, yp, locolor, hicolor);
			}
			break;
		}
		case GRIPPER_STATE_PRESSED: //pressed 
		{
			COLORREF hicolor = LightenColor(GetSysColor(COLOR_BTNFACE), -0x50);
			COLORREF locolor = LightenColor(GetSysColor(COLOR_BTNFACE),  0x80);

			int yp = 0;
			for(int yc = 0; yc < GRIPPER_ROWCOUNT; yc++, yp+=5)
			{
				int xp = 0;
				for(int xc = 0; xc < 12; xc++, xp+=5)
					DrawDot(&MemDC, xp, yp, hicolor, locolor);
			}
			break;
		}
		default: break;
	}

	dc.BitBlt(0, 0, RUP_GRIPPERWIDTH, RUP_GRIPPERHEIGHT, &MemDC, 0, 0, SRCCOPY);
}
Пример #3
0
/** Startup color support. */
void StartupColors()
{

   unsigned int x;
   int red, green, blue;
   XColor c;

   /* Determine how to convert between RGB triples and pixels. */
   Assert(rootVisual);
   switch(rootVisual->class) {
   case DirectColor:
   case TrueColor:
      ComputeShiftMask(rootVisual->red_mask, &redShift, &redMask);
      ComputeShiftMask(rootVisual->green_mask, &greenShift, &greenMask);
      ComputeShiftMask(rootVisual->blue_mask, &blueShift, &blueMask);
      map = NULL;
      break;
   default:

      /* Attempt to get 256 colors, pretend it worked. */
      redMask = 0xE0;
      greenMask = 0x1C;
      blueMask = 0x03;
      ComputeShiftMask(redMask, &redShift, &redMask);
      ComputeShiftMask(greenMask, &greenShift, &greenMask);
      ComputeShiftMask(blueMask, &blueShift, &blueMask);
      map = Allocate(sizeof(unsigned long) * 256);

      /* RGB: 3, 3, 2 */
      x = 0;
      for(red = 0; red < 8; red++) {
         for(green = 0; green < 8; green++) {
            for(blue = 0; blue < 4; blue++) {
               c.red = (unsigned short)(74898 * red / 8);
               c.green = (unsigned short)(74898 * green / 8);
               c.blue = (unsigned short)(87381 * blue / 4);
               c.flags = DoRed | DoGreen | DoBlue;
               JXAllocColor(display, rootColormap, &c);
               map[x] = c.pixel;
               ++x;
            }
         }
      }

      /* Compute the reverse pixel mapping (pixel -> 24-bit RGB). */
      rmap = Allocate(sizeof(unsigned long) * 256);
      for(x = 0; x < 256; x++) {
         c.pixel = x;
         JXQueryColor(display, rootColormap, &c);
         GetDirectPixel(&c);
         rmap[x] = c.pixel;
      }

      break;
   }

   /* Inherit unset colors. */
   if(names) {
      for(x = 0; x < INHERIT_COUNT; x++) {
         if(!names[INHERIT_COLORS[x].dest]) {
            names[INHERIT_COLORS[x].dest]
               = CopyString(names[INHERIT_COLORS[x].src]);
         }
      }
   }

   /* Get color information used for JWM stuff. */
   for(x = 0; x < COLOR_COUNT; x++) {
      if(names && names[x]) {
         if(ParseColor(names[x], &c)) {
            colors[x] = c.pixel;
            rgbColors[x] = GetRGBFromXColor(&c);
         } else {
            SetDefaultColor(x);
         }
      } else {
         SetDefaultColor(x);
      }
   }

   /* If not explicity set, select an outline for active menu items. */
   if(!names || !names[COLOR_MENU_ACTIVE_OL]) {
      DarkenColor(COLOR_MENU_ACTIVE_BG1, COLOR_MENU_ACTIVE_OL);
   }

   LightenColor(COLOR_TRAY_BG1, COLOR_TRAY_UP);
   DarkenColor(COLOR_TRAY_BG2, COLOR_TRAY_DOWN);

   DarkenColor(COLOR_TASK_BG1, COLOR_TASK_DOWN);

   LightenColor(COLOR_TASK_ACTIVE_BG1, COLOR_TASK_ACTIVE_UP);

   LightenColor(COLOR_TRAYBUTTON_ACTIVE_BG1, COLOR_TRAYBUTTON_ACTIVE_UP);
   DarkenColor(COLOR_TRAYBUTTON_BG1, COLOR_TRAYBUTTON_DOWN);

   LightenColor(COLOR_MENU_BG, COLOR_MENU_UP);
   DarkenColor(COLOR_MENU_BG, COLOR_MENU_DOWN);

   if(names) {
      for(x = 0; x < COLOR_COUNT; x++) {
         if(names[x]) {
            Release(names[x]);
         }
      }
      Release(names);
      names = NULL;
   }

}