本文整理汇总了C++中wxGCDC::SetTextForeground方法的典型用法代码示例。如果您正苦于以下问题:C++ wxGCDC::SetTextForeground方法的具体用法?C++ wxGCDC::SetTextForeground怎么用?C++ wxGCDC::SetTextForeground使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxGCDC
的用法示例。
在下文中一共展示了wxGCDC::SetTextForeground方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: drawNode
void MaterialWindow::drawNode(wxGCDC& gdc, Node* node)
{
// Background
gdc.SetBrush(wxBrush(Theme::lightBackgroundColor, wxBRUSHSTYLE_SOLID));
gdc.DrawRoundedRectangle(mWindowX + node->x, mWindowY + node->y, node->width, node->height, 10);
// Title Bar Background
if ( node->mouseOver || mSelectedNode == node )
gdc.SetBrush(wxBrush(wxColour(50, 50, 50), wxBRUSHSTYLE_SOLID));
else
gdc.SetBrush(wxBrush(Theme::darkBackgroundColor, wxBRUSHSTYLE_SOLID));
gdc.DrawRoundedRectangle(mWindowX + node->x + 5, mWindowY + node->y + 5, node->width - 10, 30, 10);
// Title Bar Text
wxFont font(10, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false);
gdc.SetFont(font);
gdc.SetTextForeground(wxColour(200, 200, 190));
wxSize textSize = gdc.GetTextExtent(node->name);
gdc.DrawText(node->name, mWindowX + node->x + (node->width / 2) - (textSize.GetWidth() / 2), mWindowY + node->y + 18 - (textSize.GetHeight() / 2));
// Input Points
for(S32 n = 0; n < node->inputs.size(); ++n )
{
InputPoint* input = &node->inputs[n];
input->lastPosition = wxPoint(mWindowX + node->x + 12.0f, mWindowY + node->y + 49.0f + (n * 20.0f));
U8 alpha_val = input->mouseOver ? 255 : 175;
gdc.SetBrush(wxBrush(wxColour(255, 255, 255, alpha_val), wxBRUSHSTYLE_SOLID));
gdc.DrawCircle(mWindowX + node->x + 12.0f, mWindowY + node->y + 49.0f + (n * 20.0f), 5);
wxSize inputTextSize = gdc.GetTextExtent(input->name);
wxFont inputfont(10, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false);
gdc.SetFont(inputfont);
gdc.SetTextForeground(wxColour(255, 255, 255, alpha_val));
gdc.DrawText(input->name, mWindowX + node->x + 22, mWindowY + node->y + 41 + (n * 20));
}
// Output Points
for(S32 n = 0; n < node->outputs.size(); ++n )
{
OutputPoint* output = &node->outputs[n];
output->lastPosition = wxPoint(mWindowX + node->x + node->width - 12.0f, mWindowY + node->y + 49.0f + (n * 20.0f));
U8 alpha_val = output->mouseOver ? 255 : 175;
gdc.SetBrush(wxBrush(wxColour(output->color.red, output->color.green, output->color.blue, alpha_val), wxBRUSHSTYLE_SOLID));
gdc.DrawCircle(mWindowX + node->x + node->width - 12.0f, mWindowY + node->y + 49.0f + (n * 20.0f), 5);
}
// Float can be shown in a single line of text.
if (node->type == "Float")
{
wxString floatValue = wxString::Format("%f", node->color.red);
wxFont inputfont(10, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false);
gdc.SetFont(inputfont);
gdc.SetTextForeground(wxColour(255, 255, 255, 255));
gdc.DrawText(floatValue, mWindowX + node->x + 12.0f, mWindowY + node->y + 41);
}
// Vec3 and Vec4 draw a color preview.
if (node->type == "Vec3" || node->type == "Vec4")
{
gdc.SetBrush(wxBrush(wxColour(node->color.red * 255, node->color.green * 255, node->color.blue * 255, node->color.alpha * 255), wxBRUSHSTYLE_SOLID));
gdc.DrawRectangle(mWindowX + node->x + 12.0f, mWindowY + node->y + 16.0f + (node->height / 2.0f) - 32.0f, 64.0f, 64.0f);
}
}