copy_bitmap = NULL;
}
if (!copy_bitmap)
- copy_bitmap = new BBitmap (offscreen_draw_bitmap_1);
+ {
+ copy_bitmap = new BBitmap (offscreen_draw_bitmap_1);
+ SetViewBitmap (copy_bitmap, Frame (),
+ Frame (), B_FOLLOW_NONE, 0);
+ }
else
copy_bitmap->ImportBits (offscreen_draw_bitmap_1);
if (copy_bitmap->InitCheck () != B_OK)
gui_abort ("Failed to init copy bitmap during buffer flip");
- SetViewBitmap (copy_bitmap,
- Frame (), Frame (), B_FOLLOW_NONE, 0);
-
Invalidate (&invalid_region);
invalid_region.MakeEmpty ();
UnlockLooper ();
{
BView_ClipToRect (FRAME_HAIKU_VIEW (s->f), s->x, s->y,
s->width, s->height);
+ BView_invalidate_region (FRAME_HAIKU_VIEW (s->f), s->x,
+ s->y, s->width, s->height);
}
static void
case DEFAULT_CURSOR:
case NO_CURSOR:
break;
+
case HBAR_CURSOR:
BView_FillRectangle (view, fx, fy, w->phys_cursor_width, h);
BView_invalidate_region (view, fx, fy, w->phys_cursor_width, h);
break;
+
case BAR_CURSOR:
if (cursor_glyph->resolved_level & 1)
{
BView_invalidate_region (view, fx, fy, w->phys_cursor_width, h);
break;
+
case HOLLOW_BOX_CURSOR:
if (phys_cursor_glyph->type != IMAGE_GLYPH)
{
BView_invalidate_region (view, fx, fy, w->phys_cursor_width, h);
break;
+
case FILLED_BOX_CURSOR:
draw_phys_cursor_glyph (w, glyph_row, DRAW_CURSOR);
}
face = p->face;
block_input ();
- BView_draw_lock (view, true, p->x, p->y, p->wd, p->h);
+ BView_draw_lock (view, true, 0, 0, 0, 0);
BView_StartClip (view);
+ if (p->wd && p->h)
+ BView_invalidate_region (view, p->x, p->y, p->wd, p->h);
+
haiku_clip_to_row (w, row, ANY_AREA);
if (p->bx >= 0 && !p->overlay_p)
{
+ BView_invalidate_region (view, p->bx, p->by, p->nx, p->ny);
+
if (!face->stipple)
{
BView_SetHighColor (view, face->background);