BControlLook: Move tab frame drawing into DrawTabFrame()
The tab frame is drawn behind the tabs. Create a new DrawTabFrame method in BControlLook and HaikuControlLook that draws the tab frame background. Until now we've been reusing the DrawInactiveTab method to draw the tab frame in BTabView. While this works on HaikuControlLook, it doesn't work on other ControlLook's (such as BeControlLook) that draw their tab frame differently. Add FBC method to preserve binary compatibility on gcc2 and gcc4. Move DrawTabFrame method to where _ReservedControlLook1 was in header. Set rect to area of tab frame in TabView instead of doing the calculation in HaikuControlLook so that others may benefit. Change-Id: I513e238914f6d680f495659b6ec902df15555015 Reviewed-on: https://review.haiku-os.org/c/haiku/+/1936 Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
committed by
waddlesplash
parent
7e27cd8e6f
commit
fb3493dfef
@@ -289,7 +289,6 @@ public:
|
||||
const rgb_color& base, uint32 flags = 0,
|
||||
uint32 borders = B_ALL_BORDERS,
|
||||
uint32 side = B_TOP_BORDER) = 0;
|
||||
|
||||
virtual void DrawInactiveTab(BView* view, BRect& rect,
|
||||
const BRect& updateRect,
|
||||
const rgb_color& base, uint32 flags = 0,
|
||||
@@ -396,9 +395,14 @@ public:
|
||||
void SetBackgroundInfo(
|
||||
const BMessage& backgroundInfo);
|
||||
|
||||
virtual void DrawTabFrame(BView* view, BRect& rect,
|
||||
const BRect& updateRect,
|
||||
const rgb_color& base, uint32 flags = 0,
|
||||
uint32 borders = B_ALL_BORDERS,
|
||||
border_style borderStyle = B_FANCY_BORDER,
|
||||
uint32 side = B_TOP_BORDER) = 0;
|
||||
private:
|
||||
// FBC padding
|
||||
virtual void _ReservedControlLook1();
|
||||
virtual void _ReservedControlLook2();
|
||||
virtual void _ReservedControlLook3();
|
||||
virtual void _ReservedControlLook4();
|
||||
|
||||
Reference in New Issue
Block a user