From 517e54d0d9258c1a1c90a2acbf9b91b0f1300cb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Sat, 26 Mar 2005 22:10:54 +0000 Subject: [PATCH] added more support functions git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12052 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/drawing/Painter/Painter.cpp | 31 +++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/servers/app/drawing/Painter/Painter.cpp b/src/servers/app/drawing/Painter/Painter.cpp index 8b4fd7c8cf..5c47ae57c2 100644 --- a/src/servers/app/drawing/Painter/Painter.cpp +++ b/src/servers/app/drawing/Painter/Painter.cpp @@ -15,6 +15,8 @@ #include #include +#include "LayerData.h" + #include "AGGTextRenderer.h" #include "DrawingMode.h" #include "DrawingModeFactory.h" @@ -139,6 +141,26 @@ Painter::DetachFromBuffer() _MakeEmpty(); } +// SetDrawData +void +Painter::SetDrawData(const DrawData* data) +{ + // for now... + SetHighColor(data->highcolor.GetColor32()); + SetLowColor(data->lowcolor.GetColor32()); + SetScale(data->scale); + SetPenSize(data->pensize); +// SetOrigin(); + SetDrawingMode(data->draw_mode); + SetBlendingMode(data->alphaSrcMode, data->alphaFncMode); + SetPenLocation(data->penlocation); + SetFont(data->font); + if (data->clipReg) { + ConstrainClipping(*data->clipReg); + } + fPatternHandler->SetPattern(data->patt); +} + // #pragma mark - // ConstrainClipping @@ -700,6 +722,15 @@ Painter::InvertRect(const BRect& r) const } } +// BoundingBox +BRect +Painter::BoundingBox(const char* utf8String, uint32 length, + const BPoint& baseLine) const +{ + Transformable transform; + transform.TranslateBy(baseLine); + return fTextRenderer->Bounds(utf8String, length, transform); +} // #pragma mark -