fixed some font related problems, Painter should now rely on the app_server font manager. maybe I fixed some compile problems too. Sorry if that was the case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12144 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -365,7 +365,8 @@ AccelerantHWInterface::SetMode(const display_mode &mode)
|
|||||||
void
|
void
|
||||||
AccelerantHWInterface::GetMode(display_mode *mode)
|
AccelerantHWInterface::GetMode(display_mode *mode)
|
||||||
{
|
{
|
||||||
*mode = fDisplayMode;
|
if (mode)
|
||||||
|
*mode = fDisplayMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
|
|||||||
@@ -39,6 +39,9 @@
|
|||||||
*/
|
*/
|
||||||
DisplayDriver::DisplayDriver()
|
DisplayDriver::DisplayDriver()
|
||||||
{
|
{
|
||||||
|
fDisplayMode.virtual_width = 640;
|
||||||
|
fDisplayMode.virtual_height = 480;
|
||||||
|
fDisplayMode.space = B_RGBA32;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -76,4 +79,32 @@ DisplayDriver::Shutdown()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
\brief Sets the screen mode to specified resolution and color depth.
|
||||||
|
\param mode Data structure as defined in Screen.h
|
||||||
|
|
||||||
|
Subclasses must include calls to _SetDepth, _SetHeight, _SetWidth, and _SetMode
|
||||||
|
to update the state variables kept internally by the DisplayDriver class.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
DisplayDriver::SetMode(const display_mode &mode)
|
||||||
|
{
|
||||||
|
if (Lock()) {
|
||||||
|
fDisplayMode = mode;
|
||||||
|
Unlock();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetMode
|
||||||
|
void
|
||||||
|
DisplayDriver::GetMode(display_mode *mode)
|
||||||
|
{
|
||||||
|
if (!mode)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (Lock()) {
|
||||||
|
*mode = fDisplayMode;
|
||||||
|
Unlock();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,9 +56,6 @@ DisplayDriverImpl::DisplayDriverImpl()
|
|||||||
fDPMSState(B_DPMS_ON),
|
fDPMSState(B_DPMS_ON),
|
||||||
fDPMSCaps(B_DPMS_ON)
|
fDPMSCaps(B_DPMS_ON)
|
||||||
{
|
{
|
||||||
fDisplayMode.virtual_width = 640;
|
|
||||||
fDisplayMode.virtual_height = 480;
|
|
||||||
fDisplayMode.space = B_RGBA32;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -2427,41 +2424,6 @@ DisplayDriverImpl::Unlock()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Protected Internal Functions
|
// Protected Internal Functions
|
||||||
/*
|
|
||||||
\brief Sets the screen mode to specified resolution and color depth.
|
|
||||||
\param mode Data structure as defined in Screen.h
|
|
||||||
|
|
||||||
Subclasses must include calls to _SetDepth, _SetHeight, _SetWidth, and _SetMode
|
|
||||||
to update the state variables kept internally by the DisplayDriver class.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
DisplayDriverImpl::SetMode(const display_mode &mode)
|
|
||||||
{
|
|
||||||
fDisplayMode = mode;
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetMode
|
|
||||||
void
|
|
||||||
DisplayDriverImpl::GetMode(display_mode *mode)
|
|
||||||
{
|
|
||||||
if (!mode)
|
|
||||||
return;
|
|
||||||
|
|
||||||
Lock();
|
|
||||||
*mode = fDisplayMode;
|
|
||||||
Unlock();
|
|
||||||
}
|
|
||||||
|
|
||||||
// DisplayMode
|
|
||||||
const display_mode*
|
|
||||||
DisplayDriverImpl::DisplayMode()
|
|
||||||
{
|
|
||||||
const display_mode* mode = NULL;
|
|
||||||
Lock();
|
|
||||||
mode = &fDisplayMode;
|
|
||||||
Unlock();
|
|
||||||
return mode;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Sets the driver's Display Power Management System state
|
\brief Sets the driver's Display Power Management System state
|
||||||
|
|||||||
@@ -297,11 +297,6 @@ class DisplayDriverImpl : public DisplayDriver {
|
|||||||
virtual bool Lock(bigtime_t timeout = B_INFINITE_TIMEOUT);
|
virtual bool Lock(bigtime_t timeout = B_INFINITE_TIMEOUT);
|
||||||
virtual void Unlock();
|
virtual void Unlock();
|
||||||
|
|
||||||
// display mode access
|
|
||||||
virtual void SetMode(const display_mode &mode);
|
|
||||||
virtual void GetMode(display_mode *mode);
|
|
||||||
virtual const display_mode* DisplayMode();
|
|
||||||
|
|
||||||
virtual bool DumpToFile(const char *path);
|
virtual bool DumpToFile(const char *path);
|
||||||
virtual ServerBitmap* DumpToBitmap();
|
virtual ServerBitmap* DumpToBitmap();
|
||||||
|
|
||||||
@@ -431,7 +426,6 @@ friend class WinBorder;
|
|||||||
BLocker fLocker;
|
BLocker fLocker;
|
||||||
CursorHandler fCursorHandler;
|
CursorHandler fCursorHandler;
|
||||||
|
|
||||||
display_mode fDisplayMode;
|
|
||||||
uint32 fDPMSState;
|
uint32 fDPMSState;
|
||||||
uint32 fDPMSCaps;
|
uint32 fDPMSCaps;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -871,6 +871,7 @@ DisplayDriverPainter::SetMode(const display_mode &mode)
|
|||||||
{
|
{
|
||||||
if (Lock() && fGraphicsCard->SetMode(mode) >= B_OK) {
|
if (Lock() && fGraphicsCard->SetMode(mode) >= B_OK) {
|
||||||
fPainter->AttachToBuffer(fGraphicsCard->BackBuffer());
|
fPainter->AttachToBuffer(fGraphicsCard->BackBuffer());
|
||||||
|
DisplayDriver::SetMode(mode);
|
||||||
Unlock();
|
Unlock();
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "DisplayDriverPainter::SetMode() - unsupported mode!\n");
|
fprintf(stderr, "DisplayDriverPainter::SetMode() - unsupported mode!\n");
|
||||||
|
|||||||
@@ -234,7 +234,7 @@ class DisplayDriverPainter : public DisplayDriver {
|
|||||||
|
|
||||||
// display mode access
|
// display mode access
|
||||||
virtual void SetMode(const display_mode &mode);
|
virtual void SetMode(const display_mode &mode);
|
||||||
|
|
||||||
virtual bool DumpToFile(const char *path);
|
virtual bool DumpToFile(const char *path);
|
||||||
virtual ServerBitmap* DumpToBitmap();
|
virtual ServerBitmap* DumpToBitmap();
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class HWInterface : public BLocker {
|
|||||||
|
|
||||||
// screen mode stuff
|
// screen mode stuff
|
||||||
virtual status_t SetMode(const display_mode &mode) = 0;
|
virtual status_t SetMode(const display_mode &mode) = 0;
|
||||||
// virtual void GetMode(display_mode *mode) = 0;
|
virtual void GetMode(display_mode *mode) = 0;
|
||||||
|
|
||||||
virtual status_t GetDeviceInfo(accelerant_device_info *info) = 0;
|
virtual status_t GetDeviceInfo(accelerant_device_info *info) = 0;
|
||||||
virtual status_t GetModeList(display_mode **mode_list,
|
virtual status_t GetModeList(display_mode **mode_list,
|
||||||
|
|||||||
@@ -277,7 +277,7 @@ Painter::SetFont(const ServerFont& font)
|
|||||||
fFont.SetRotation(font.Rotation());
|
fFont.SetRotation(font.Rotation());
|
||||||
fFont.SetSize(font.Size());
|
fFont.SetSize(font.Size());
|
||||||
|
|
||||||
_UpdateFont();
|
_UpdateFont(font.GetPath());
|
||||||
}
|
}
|
||||||
|
|
||||||
// #pragma mark -
|
// #pragma mark -
|
||||||
@@ -1032,17 +1032,21 @@ Painter::_RebuildClipping()
|
|||||||
|
|
||||||
// _UpdateFont
|
// _UpdateFont
|
||||||
void
|
void
|
||||||
Painter::_UpdateFont()
|
Painter::_UpdateFont(const char* pathToFontFile)
|
||||||
{
|
{
|
||||||
font_family family;
|
if (pathToFontFile) {
|
||||||
font_style style;
|
fTextRenderer->SetFont(pathToFontFile);
|
||||||
fFont.GetFamilyAndStyle(&family, &style);
|
} else {
|
||||||
|
font_family family;
|
||||||
bool success = fTextRenderer->SetFamilyAndStyle(family, style);
|
font_style style;
|
||||||
if (!success) {
|
fFont.GetFamilyAndStyle(&family, &style);
|
||||||
fprintf(stderr, "unable to set '%s' + '%s'\n", family, style);
|
|
||||||
fprintf(stderr, "font is still: '%s' + '%s'\n",
|
bool success = fTextRenderer->SetFamilyAndStyle(family, style);
|
||||||
fTextRenderer->Family(), fTextRenderer->Style());
|
if (!success) {
|
||||||
|
fprintf(stderr, "unable to set '%s' + '%s'\n", family, style);
|
||||||
|
fprintf(stderr, "font is still: '%s' + '%s'\n",
|
||||||
|
fTextRenderer->Family(), fTextRenderer->Style());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fTextRenderer->SetPointSize(fFont.Size());
|
fTextRenderer->SetPointSize(fFont.Size());
|
||||||
|
|||||||
@@ -316,6 +316,10 @@ void ViewDriver::SetMode(const display_mode &mode)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fDisplayMode.virtual_width = mode.virtual_width;
|
||||||
|
fDisplayMode.virtual_height = mode.virtual_height;
|
||||||
|
fDisplayMode.space = mode.space;
|
||||||
|
|
||||||
screenwin->Lock();
|
screenwin->Lock();
|
||||||
|
|
||||||
BBitmap *tempbmp=new BBitmap(BRect(0,0,mode.virtual_width-1, mode.virtual_height-1),
|
BBitmap *tempbmp=new BBitmap(BRect(0,0,mode.virtual_width-1, mode.virtual_height-1),
|
||||||
|
|||||||
@@ -448,6 +448,14 @@ ViewHWInterface::SetMode(const display_mode &mode)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetMode
|
||||||
|
void
|
||||||
|
ViewHWInterface::GetMode(display_mode* mode)
|
||||||
|
{
|
||||||
|
if (mode)
|
||||||
|
*mode = fDisplayMode;
|
||||||
|
}
|
||||||
|
|
||||||
// GetDeviceInfo
|
// GetDeviceInfo
|
||||||
status_t
|
status_t
|
||||||
ViewHWInterface::GetDeviceInfo(accelerant_device_info *info)
|
ViewHWInterface::GetDeviceInfo(accelerant_device_info *info)
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class ViewHWInterface : public HWInterface {
|
|||||||
virtual status_t Shutdown();
|
virtual status_t Shutdown();
|
||||||
|
|
||||||
virtual status_t SetMode(const display_mode &mode);
|
virtual status_t SetMode(const display_mode &mode);
|
||||||
// virtual void GetMode(display_mode *mode);
|
virtual void GetMode(display_mode *mode);
|
||||||
|
|
||||||
|
|
||||||
virtual status_t GetDeviceInfo(accelerant_device_info *info);
|
virtual status_t GetDeviceInfo(accelerant_device_info *info);
|
||||||
|
|||||||
Reference in New Issue
Block a user