示例#1
0
void
InfoBoxPreview::OnPaint(Canvas &canvas)
{
  const bool is_current = i == parent->GetCurrentInfoBox();

  if (is_current)
    canvas.Clear(COLOR_BLACK);
  else
    canvas.ClearWhite();

  canvas.SelectHollowBrush();
  canvas.SelectBlackPen();
  canvas.Rectangle(0, 0, canvas.GetWidth() - 1, canvas.GetHeight() - 1);

  InfoBoxFactory::Type type = parent->GetContents(i);
  const TCHAR *caption = type < InfoBoxFactory::NUM_TYPES
    ? InfoBoxFactory::GetCaption(type)
    : NULL;
  if (caption == NULL)
    caption = _("Invalid");
  else
    caption = gettext(caption);

  canvas.Select(parent->GetInfoBoxLook().title_font);
  canvas.SetBackgroundTransparent();
  canvas.SetTextColor(is_current ? COLOR_WHITE : COLOR_BLACK);
  canvas.DrawText(2, 2, caption);
}
示例#2
0
bool
InfoBoxPreview::OnMouseDouble(PixelScalar x, PixelScalar y)
{
  parent->BeginEditing();
  return true;
}
示例#3
0
bool
InfoBoxPreview::OnMouseDouble(PixelPoint p)
{
  parent->BeginEditing();
  return true;
}
示例#4
0
bool
InfoBoxPreview::OnMouseDown(PixelScalar x, PixelScalar y)
{
  parent->SetCurrentInfoBox(i);
  return true;
}
示例#5
0
bool
InfoBoxPreview::OnMouseDown(PixelPoint p)
{
  parent->SetCurrentInfoBox(i);
  return true;
}