// This is just to test mouse move handling void PageControl::NotifyMouseMove(int x, int y) { #if 0 Rect r1 = RectForCircle(cursorX, cursorY, 10); Rect r2 = RectForCircle(x, y, 10); cursorX = x; cursorY = y; r1.Inflate(1,1); r2.Inflate(1,1); RequestRepaint(this, &r1, &r2); #endif }
void PageControl::Paint(Graphics *gfx, int offX, int offY) { CrashIf(!IsVisible()); #if 0 // for testing mouse move, paint a blue circle at current cursor position if ((-1 != cursorX) && (-1 != cursorY)) { SolidBrush br(Color(180, 0, 0, 255)); int x = offX + cursorX; int y = offY + cursorY; Rect r(RectForCircle(x, y, 10)); gfx->FillEllipse(&br, r); } #endif CachedStyle *s = cachedStyle; Rect r(offX, offY, pos.Width, pos.Height); Brush *br = BrushFromColorData(s->bgColor, r); gfx->FillRectangle(br, r); if (!page) return; // during resize the page we currently show might be bigger than // our area. To avoid drawing outside our area we clip Region origClipRegion; gfx->GetClip(&origClipRegion); r.X += s->padding.left; r.Y += s->padding.top; r.Width -= (s->padding.left + s->padding.right); r.Height -= (s->padding.top + s->padding.bottom); r.Inflate(1,0); gfx->SetClip(r, CombineModeReplace); // TODO: support changing the text color to gRenderCache.colorRange[0] // or GetSysColor(COLOR_WINDOWTEXT) if gGlobalPrefs.useSysColors DrawHtmlPage(gfx, &page->instructions, (REAL)r.X, (REAL)r.Y, IsDebugPaint()); gfx->SetClip(&origClipRegion, CombineModeReplace); }