From 58c352015a924313be1c6720f0b6d2b392cd7d26 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Wed, 11 Apr 2012 01:57:39 -0400 Subject: [PATCH] Complete the implemention of Gears in GLRendering * Add the gears_64.png resource to GLRendering.rdef * Add GearsView.cpp and header * Add to Jamfile * Add a GearsView to the OpenGLView * Make the default window width wider to fit the gears --- src/preferences/3drendering/3DRendering.rdef | 5 +- src/preferences/3drendering/GearsView.cpp | 66 +++++++++++++++++++ src/preferences/3drendering/GearsView.h | 30 +++++++++ src/preferences/3drendering/Jamfile | 3 +- src/preferences/3drendering/OpenGLView.cpp | 12 ++-- src/preferences/3drendering/OpenGLView.h | 1 + src/preferences/3drendering/OpenGLWindow.cpp | 2 +- src/preferences/3drendering/gears_64.png | Bin 0 -> 5907 bytes 8 files changed, 108 insertions(+), 11 deletions(-) create mode 100644 src/preferences/3drendering/GearsView.cpp create mode 100644 src/preferences/3drendering/GearsView.h create mode 100644 src/preferences/3drendering/gears_64.png diff --git a/src/preferences/3drendering/3DRendering.rdef b/src/preferences/3drendering/3DRendering.rdef index b4aa9086ce..5ba080c6b4 100644 --- a/src/preferences/3drendering/3DRendering.rdef +++ b/src/preferences/3drendering/3DRendering.rdef @@ -1,8 +1,10 @@ -resource(1, "BEOS:APP_SIG") #'MIMS' "application/x-vnd.Haiku-3DRendering"; +resource app_signature "application/x-vnd.Haiku-3DRendering"; resource app_name_catalog_entry "x-vnd.Haiku-3DRendering:System name:3D Rendering"; +resource(1, "gears_64.png") #'PNG ' import "gears_64.png"; + resource app_flags B_SINGLE_LAUNCH; resource app_version { @@ -32,4 +34,3 @@ resource vector_icon { $"02000A0001051001178422040A0203050403000A000203041810FF0215810004" $"178222040A030103000A04010400" }; - diff --git a/src/preferences/3drendering/GearsView.cpp b/src/preferences/3drendering/GearsView.cpp new file mode 100644 index 0000000000..fd49ce9a02 --- /dev/null +++ b/src/preferences/3drendering/GearsView.cpp @@ -0,0 +1,66 @@ +/* + * Copyright 2012 Haiku Inc. All rights reserved. + * Distributed under the terms of the MIT License. + * + * Author: + * John Scipione + */ + + +#include "GearsView.h" + +#include +#include +#include +#include +#include + + +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "GearsView" + + +static const float kStripeWidth = 30.0; + +GearsView::GearsView() + : + BView("GearsView", B_WILL_DRAW), + fGears(NULL) +{ + SetExplicitPreferredSize(BSize(64 + 5, B_SIZE_UNLIMITED)); + SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); + _InitGearsBitmap(); +} + + +GearsView::~GearsView() +{ + delete fGears; +} + + +void +GearsView::_InitGearsBitmap() +{ + fGears = BTranslationUtils::GetBitmap(B_PNG_FORMAT, "gears_64.png"); +} + + +void +GearsView::Draw(BRect updateRect) +{ + SetHighColor(ViewColor()); + FillRect(updateRect); + + BRect stripeRect = Bounds(); + stripeRect.right = kStripeWidth; + SetHighColor(tint_color(ViewColor(), B_DARKEN_1_TINT)); + FillRect(stripeRect); + + if (fGears == NULL) + return; + + SetDrawingMode(B_OP_ALPHA); + SetBlendingMode(B_PIXEL_ALPHA, B_ALPHA_OVERLAY); + DrawBitmapAsync(fGears, BPoint(5, 70)); +} diff --git a/src/preferences/3drendering/GearsView.h b/src/preferences/3drendering/GearsView.h new file mode 100644 index 0000000000..eb6edeccfd --- /dev/null +++ b/src/preferences/3drendering/GearsView.h @@ -0,0 +1,30 @@ +/* + * Copyright 2012 Haiku Inc. All rights reserved. + * Distributed under the terms of the MIT License. + */ +#ifndef GEARS_VIEW_H +#define GEARS_VIEW_H + + +#include + + +class BBitmap; + + +class GearsView : public BView { +public: + GearsView(); + virtual ~GearsView(); + + virtual void Draw(BRect updateRect); + +protected: + void _InitGearsBitmap(); + +private: + BBitmap* fGears; +}; + + +#endif /* OPENGL_VIEW_H */ diff --git a/src/preferences/3drendering/Jamfile b/src/preferences/3drendering/Jamfile index 98028ac16c..444c4d6169 100644 --- a/src/preferences/3drendering/Jamfile +++ b/src/preferences/3drendering/Jamfile @@ -17,6 +17,7 @@ local sources = ExtensionsList.cpp ExtensionsView.cpp InfoView.cpp + GearsView.cpp ; Includes [ FGristFiles $(sources) ] : $(HAIKU_MESA_HEADERS_DEPENDENCY) ; @@ -28,7 +29,6 @@ Preference 3DRendering : be GL translation libcolumnlistview.a $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) : 3DRendering.rdef - : Gears.rdef ; DoCatalogs 3DRendering : @@ -38,6 +38,7 @@ DoCatalogs 3DRendering : ExtensionsList.cpp ExtensionsView.cpp InfoView.cpp + GearsView.cpp OpenGLWindow.cpp ; diff --git a/src/preferences/3drendering/OpenGLView.cpp b/src/preferences/3drendering/OpenGLView.cpp index 14a9a91473..7e7dfccdb4 100644 --- a/src/preferences/3drendering/OpenGLView.cpp +++ b/src/preferences/3drendering/OpenGLView.cpp @@ -7,6 +7,7 @@ * Artur Wyszynski */ + #include "OpenGLView.h" #include @@ -67,20 +68,17 @@ OpenGLView::OpenGLView() GroupLayout()->SetSpacing(0); BLayoutBuilder::Group<>(this) - .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, - B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) - .Add(menuField) .AddGroup(B_HORIZONTAL, 0) .Add(new GearsView()) - .AddGroup(B_HORIZONTAL) + .AddGroup(B_VERTICAL, B_USE_DEFAULT_SPACING) + .SetInsets(0, B_USE_DEFAULT_SPACING, + B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) + .Add(menuField) .Add(tabView) - .SetInsets(0, B_USE_DEFAULT_SPACING, 0, 0) .End() .End(); } - OpenGLView::~OpenGLView() { } - diff --git a/src/preferences/3drendering/OpenGLView.h b/src/preferences/3drendering/OpenGLView.h index 479e3cd571..7d0a9e5d38 100644 --- a/src/preferences/3drendering/OpenGLView.h +++ b/src/preferences/3drendering/OpenGLView.h @@ -26,4 +26,5 @@ public: virtual ~OpenGLView(); }; + #endif /* OPENGL_VIEW_H */ diff --git a/src/preferences/3drendering/OpenGLWindow.cpp b/src/preferences/3drendering/OpenGLWindow.cpp index a637c37d89..811b82d7b3 100644 --- a/src/preferences/3drendering/OpenGLWindow.cpp +++ b/src/preferences/3drendering/OpenGLWindow.cpp @@ -16,7 +16,7 @@ OpenGLWindow::OpenGLWindow() : - BWindow(BRect(50, 50, 450, 400), B_TRANSLATE_SYSTEM_NAME("3D Rendering"), + BWindow(BRect(50, 50, 450 + 64, 400), B_TRANSLATE_SYSTEM_NAME("3D Rendering"), B_TITLED_WINDOW, B_NOT_RESIZABLE | B_ASYNCHRONOUS_CONTROLS | B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS) { diff --git a/src/preferences/3drendering/gears_64.png b/src/preferences/3drendering/gears_64.png new file mode 100644 index 0000000000000000000000000000000000000000..f97707606b78d195ada2c3fa536113f207bb3043 GIT binary patch literal 5907 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 literal 0 HcmV?d00001