xref: /haiku/src/tests/kits/opengl/glinfo/OpenGLView.cpp (revision 9293eadbdac802eba0aa782c08d5dd9972e5b4c1)
170c51973SJohn Scipione /*
270c51973SJohn Scipione  * Copyright 2009-2012 Haiku Inc. All rights reserved.
370c51973SJohn Scipione  * Distributed under the terms of the MIT License.
470c51973SJohn Scipione  *
570c51973SJohn Scipione  * Authors:
670c51973SJohn Scipione  *		Alex Wilson <yourpalal2@gmail.com>
770c51973SJohn Scipione  *		Artur Wyszynski <harakash@gmail.com>
870c51973SJohn Scipione  */
970c51973SJohn Scipione 
1070c51973SJohn Scipione 
1170c51973SJohn Scipione #include "OpenGLView.h"
1270c51973SJohn Scipione 
1370c51973SJohn Scipione #include <stdio.h>
1470c51973SJohn Scipione 
1570c51973SJohn Scipione #include <Catalog.h>
1670c51973SJohn Scipione #include <GLView.h>
1770c51973SJohn Scipione #include <LayoutBuilder.h>
1870c51973SJohn Scipione #include <Locale.h>
1970c51973SJohn Scipione #include <MenuField.h>
2070c51973SJohn Scipione #include <PopUpMenu.h>
2170c51973SJohn Scipione #include <Size.h>
2270c51973SJohn Scipione #include <SpaceLayoutItem.h>
2370c51973SJohn Scipione #include <TabView.h>
2470c51973SJohn Scipione 
2570c51973SJohn Scipione #include "CapabilitiesView.h"
2670c51973SJohn Scipione #include "ExtensionsView.h"
2770c51973SJohn Scipione #include "InfoView.h"
2870c51973SJohn Scipione #include "GearsView.h"
2970c51973SJohn Scipione 
3070c51973SJohn Scipione 
31546208a5SOliver Tappe #undef B_TRANSLATION_CONTEXT
32546208a5SOliver Tappe #define B_TRANSLATION_CONTEXT "OpenGLView"
3370c51973SJohn Scipione 
3470c51973SJohn Scipione 
OpenGLView()3570c51973SJohn Scipione OpenGLView::OpenGLView()
3670c51973SJohn Scipione 	:
3770c51973SJohn Scipione 	BGroupView("OpenGLView", B_VERTICAL)
3870c51973SJohn Scipione {
3970c51973SJohn Scipione 
4070c51973SJohn Scipione 	BGLView* glView = new BGLView(BRect(0, 0, 1, 1), "gl info", B_FOLLOW_NONE, 0,
4170c51973SJohn Scipione 		BGL_RGB | BGL_DOUBLE);
4270c51973SJohn Scipione 	glView->Hide();
4370c51973SJohn Scipione 	AddChild(glView);
4470c51973SJohn Scipione 
4570c51973SJohn Scipione 	glView->LockGL();
4670c51973SJohn Scipione 
47acbaa2b2SAlexander von Gluck IV 	float tabViewWidth = this->StringWidth("M") * 42;
4870c51973SJohn Scipione 	float tabViewHeight = this->StringWidth("M") * 16;
4970c51973SJohn Scipione 
5070c51973SJohn Scipione 	BTabView *tabView = new BTabView("tab view", B_WIDTH_FROM_LABEL);
5170c51973SJohn Scipione 	tabView->SetExplicitMinSize(BSize(tabViewWidth, tabViewHeight));
5270c51973SJohn Scipione 	tabView->AddTab(new CapabilitiesView());
5370c51973SJohn Scipione 	tabView->AddTab(new ExtensionsView());
5470c51973SJohn Scipione 
5570c51973SJohn Scipione 	GroupLayout()->SetSpacing(0);
5670c51973SJohn Scipione 	BLayoutBuilder::Group<>(this)
5770c51973SJohn Scipione 		.AddGroup(B_HORIZONTAL, 0)
5870c51973SJohn Scipione 			.Add(new GearsView())
5970c51973SJohn Scipione 			.AddGroup(B_VERTICAL, B_USE_DEFAULT_SPACING)
6070c51973SJohn Scipione 				.SetInsets(0, B_USE_DEFAULT_SPACING,
6170c51973SJohn Scipione 					B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING)
6270c51973SJohn Scipione 				.Add(new InfoView())
6370c51973SJohn Scipione 				.Add(tabView)
6470c51973SJohn Scipione 				.End()
6570c51973SJohn Scipione 			.AddGlue()
6670c51973SJohn Scipione 			.End();
67*9293eadbSAlexander von Gluck IV 
68*9293eadbSAlexander von Gluck IV 	glView->UnlockGL();
6970c51973SJohn Scipione }
7070c51973SJohn Scipione 
~OpenGLView()7170c51973SJohn Scipione OpenGLView::~OpenGLView()
7270c51973SJohn Scipione {
7370c51973SJohn Scipione }
74