DisplayDriver now has publically-accessible locking/unlocking

StrokeLineArray fixes for ViewDriver
Fixes to display multiple overlapping windows properly
Layer::RebuildRegions works right now. :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4116 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
DarkWyrm
2003-07-28 17:09:49 +00:00
parent e81c16a881
commit a7e4fa4c55
8 changed files with 255 additions and 288 deletions
+8 -8
View File
@@ -337,7 +337,7 @@ ScreenDriver::~ScreenDriver(void)
bool ScreenDriver::Initialize(void)
{
_Lock();
Lock();
drawview=new BView(framebuffer->Bounds(),"drawview",B_FOLLOW_ALL, B_WILL_DRAW);
framebuffer->AddChild(drawview);
@@ -349,16 +349,16 @@ bool ScreenDriver::Initialize(void)
// We can afford to call the above functions without locking
// because the window is locked until Show() is first called
screenwin->Show();
_Unlock();
Unlock();
return true;
}
void ScreenDriver::Shutdown(void)
{
_Lock();
Lock();
screenwin->Disconnect();
is_initialized=false;
_Unlock();
Unlock();
}
void ScreenDriver::SetMode(int32 space)
@@ -508,11 +508,11 @@ printf("ScreenDriver:: DrawString(\"%s\",%ld,BPoint(%f,%f))\n",string,length,pt.
bool ScreenDriver::DumpToFile(const char *path)
{
// Dump to PNG
_Lock();
Lock();
SaveToPNG(path,framebuffer->Bounds(),framebuffer->ColorSpace(),
framebuffer->Bits(),framebuffer->BitsLength(),framebuffer->BytesPerRow());
_Unlock();
Unlock();
return true;
}
@@ -622,12 +622,12 @@ void ScreenDriver::FillTriangle(BPoint *pts, BRect r, LayerData *d, int8 *pat)
void ScreenDriver::HideCursor(void)
{
screenwin->Lock();
_Lock();
Lock();
hide_cursor++;
screenwin->PostMessage(SDWIN_HIDECURSOR);
_Unlock();
Unlock();
screenwin->Unlock();
}