void RedDisplay::Paint(Draw& w, const Rect& r, const Value& q, Color ink, Color paper, dword s) const { w.DrawRect(r, paper); DrawSmartText(w, r.left, r.top, r.Width(), String(q), StdFont(), LtRed()); }
void ToolTip::Paint(Draw& w) { Size sz = GetSize(); w.DrawRect(sz, SColorInfo); DrawSmartText(w, 2, 2, sz.cx - 4, text, StdFont(), SColorInfoText()); }
Size DrawLabel::Paint(Ctrl *ctrl, Draw& w, const Rect& r, bool visibleaccesskey) const { int lspc = this->lspc; int rspc = this->rspc; Size sz1 = limg.GetSize(); Size sz2 = rimg.GetSize(); int txtcx = r.GetWidth() - sz1.cx - Nvl(lspc, 0) - sz2.cx - Nvl(rspc, 0); Size txtsz = *text ? GetSmartTextSize(text, font, txtcx) : paintrect.GetStdSize(); if(txtsz.cx) { if(!rimg_never_hide && txtsz.cx + sz1.cx + sz2.cx + Nvl(lspc, 0) + Nvl(rspc, 0) > r.GetWidth()) { sz2.cx = 0; rspc = 0; } if(!limg_never_hide && txtsz.cx + sz1.cx + sz2.cx + Nvl(lspc, 0) + Nvl(rspc, 0) > r.GetWidth()) { sz1.cx = 0; lspc = 0; } } Size isz = GetSize(txtcx, sz1, lspc, sz2, rspc); Point p = r.TopLeft(), ip; if(align == ALIGN_LEFT) p.x = r.left; else if(align == ALIGN_RIGHT) p.x = r.right - isz.cx; else if(align == ALIGN_CENTER) p.x = (r.right + r.left - isz.cx) / 2; if(valign == ALIGN_TOP) p.y = r.top; else if(valign == ALIGN_BOTTOM) p.y = r.bottom - isz.cy; else if(valign == ALIGN_CENTER) p.y = (r.bottom + r.top - txtsz.cy) / 2; Color color = disabled && !IsNull(disabledink) ? disabledink : ink; if(IsNull(color)) color = disabled ? SColorDisabled : GetLabelTextColor(ctrl); int ix; if(IsNull(lspc)) ix = r.left + push; else { ix = p.x + push; p.x += sz1.cx; p.x += lspc; } int iy = push + (r.top + r.bottom - sz1.cy) / 2; if(sz1.cx) if(IsNull(lcolor)) w.DrawImage(ix, iy, DisabledImage(limg, disabled)); else w.DrawImage(ix, iy, limg, lcolor); iy = push + (r.top + r.bottom - sz2.cy) / 2; ix = (IsNull(rspc) ? r.right - sz2.cx : p.x + txtsz.cx + rspc) + push; if(sz2.cx) if(IsNull(rcolor)) w.DrawImage(ix, iy, DisabledImage(rimg, disabled)); else w.DrawImage(ix, iy, rimg, rcolor); paintrect.Paint(w, p.x + push, p.y + push, txtsz.cx, isz.cy, color, Null); if(*text) { if(disabled) DrawSmartText(w, p.x + push + 1, p.y + push + (isz.cy - txtsz.cy) / 2 + 1, txtsz.cx, text, font, SColorPaper); DrawSmartText(w, p.x + push, p.y + push, txtcx, text, font, color, visibleaccesskey ? accesskey : 0); if(focus) DrawFocus(w, p.x - 2, p.y, txtsz.cx + 5, isz.cy); } return isz; }
void RichEdit::DisplayDefault::Paint(Draw& w, const Rect& r, const Value& q, Color ink, Color paper, dword style) const { String text = q; w.DrawRect(r, paper); DrawSmartText(w, r.left, r.top, r.Width(), text, StdFont().Bold(), ink); }