예제 #1
0
void CodePreview::FlushTextBuf(std::vector<wchar_t>& buf, unsigned char format, int x, int y)
{
	int numChars = (int)buf.size();
	if(numChars < 1)
		return;

	HFONT font = s_normalFont;
	unsigned int fgColor = MetalBar::s_codePreviewFg;
	unsigned int bgColor = MetalBar::s_codePreviewBg;

	switch(format)
	{
		case FormatType_Plain:
			break;
		case FormatType_Comment:
			fgColor = MetalBar::s_commentColor;
			break;
		case FormatType_Highlight:
			bgColor = MetalBar::s_codePreviewFg;
			fgColor = MetalBar::s_codePreviewBg;
			break;
		case FormatType_Keyword:
			font = s_boldFont;
			break;
	}

	SetBkColor(m_paintDC, RGB_TO_COLORREF(bgColor));
	SetTextColor(m_paintDC, RGB_TO_COLORREF(fgColor));
	SelectObject(m_paintDC, font);

	RECT r = { 1, 1, m_wndWidth - 1, m_wndHeight - 1 };
	ExtTextOutW(m_paintDC, x, y, ETO_CLIPPED, &r, &buf[0], numChars, 0);

	buf.resize(0);
}
예제 #2
0
//
// Add a splash of colour
//
COLORREF _CombineBasedOnType(int iTabType, COLORREF clrSource)
{
    RGBQUAD source = { 0 };
    source.rgbBlue = GetBValue(clrSource);
    source.rgbGreen = GetGValue(clrSource);
    source.rgbRed = GetRValue(clrSource);

    COLORREF clr;
    switch (iTabType)
    {
    case TAB_PIC: // green
        {
            RGBQUAD tint = { 15, 255, 165 };
            clr = RGB_TO_COLORREF(_Combine(tint, source));
        }
        break;
    case TAB_TEXT: // cyan
        {
            RGBQUAD tint = { 255, 255, 155 };
            clr = RGB_TO_COLORREF(_Combine(tint, source));
        }
        break;
    case TAB_SOUND: // orange?
        {
            RGBQUAD tint = { 255, 0, 0 };
            clr = RGB_TO_COLORREF(_Combine(tint, source));
        }
        break;
    case TAB_VIEW: // blue
        {
            RGBQUAD tint = { 239, 132, 33 };
            clr = RGB_TO_COLORREF(_Combine(tint, source));
        }
        break;
    case TAB_FONT: // yellow 
        {
            RGBQUAD tint = { 0, 255, 255};
            clr = RGB_TO_COLORREF(_Combine(tint, source));
        }
        break;
    case TAB_VOCAB: // flesh
        {
            RGBQUAD tint = { 162, 206, 255 };
            clr = RGB_TO_COLORREF(_Combine(tint, source));
        }
        break;
    case TAB_SCRIPT: // red
        {
            RGBQUAD tint = { 25, 25, 255 };
            clr = RGB_TO_COLORREF(_Combine(tint, source));
        }
        break;
    case TAB_CURSOR: // pink
        {
            RGBQUAD tint = { 172, 172, 255 };
            clr = RGB_TO_COLORREF(_Combine(tint, source));
        }
        break;
    case TAB_GAME: // grey
        {
            RGBQUAD tint = { 128, 128, 128 };
            clr = RGB_TO_COLORREF(_Combine(tint, source));
        }
        break;
    default:
        clr = clrSource;
        break;
    }
    return clr;    
}