1/* 2 * Copyright 2009-2012 Haiku Inc. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Alex Wilson <yourpalal2@gmail.com> 7 * Artur Wyszynski <harakash@gmail.com> 8 */ 9 10 11#include "OpenGLView.h" 12 13#include <stdio.h> 14 15#include <Catalog.h> 16#include <GLView.h> 17#include <LayoutBuilder.h> 18#include <Locale.h> 19#include <MenuField.h> 20#include <PopUpMenu.h> 21#include <Size.h> 22#include <SpaceLayoutItem.h> 23#include <TabView.h> 24 25#include "CapabilitiesView.h" 26#include "ExtensionsView.h" 27#include "InfoView.h" 28#include "GearsView.h" 29 30 31#undef B_TRANSLATION_CONTEXT 32#define B_TRANSLATION_CONTEXT "OpenGLView" 33 34 35OpenGLView::OpenGLView() 36 : 37 BGroupView("OpenGLView", B_VERTICAL) 38{ 39 40 BGLView* glView = new BGLView(BRect(0, 0, 1, 1), "gl info", B_FOLLOW_NONE, 0, 41 BGL_RGB | BGL_DOUBLE); 42 glView->Hide(); 43 AddChild(glView); 44 45 glView->LockGL(); 46 47 float tabViewWidth = this->StringWidth("M") * 42; 48 float tabViewHeight = this->StringWidth("M") * 16; 49 50 BTabView *tabView = new BTabView("tab view", B_WIDTH_FROM_LABEL); 51 tabView->SetExplicitMinSize(BSize(tabViewWidth, tabViewHeight)); 52 tabView->AddTab(new CapabilitiesView()); 53 tabView->AddTab(new ExtensionsView()); 54 55 GroupLayout()->SetSpacing(0); 56 BLayoutBuilder::Group<>(this) 57 .AddGroup(B_HORIZONTAL, 0) 58 .Add(new GearsView()) 59 .AddGroup(B_VERTICAL, B_USE_DEFAULT_SPACING) 60 .SetInsets(0, B_USE_DEFAULT_SPACING, 61 B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING) 62 .Add(new InfoView()) 63 .Add(tabView) 64 .End() 65 .AddGlue() 66 .End(); 67 68 glView->UnlockGL(); 69} 70 71OpenGLView::~OpenGLView() 72{ 73} 74