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