1*70c51973SJohn Scipione /* 2*70c51973SJohn Scipione * Copyright 2009-2010 Haiku Inc. All rights reserved. 3*70c51973SJohn Scipione * Distributed under the terms of the MIT License. 4*70c51973SJohn Scipione * 5*70c51973SJohn Scipione * Authors: 6*70c51973SJohn Scipione * John Scipione <jscipione@gmail.com> 7*70c51973SJohn Scipione * Alex Wilson <yourpalal2@gmail.com> 8*70c51973SJohn Scipione * Artur Wyszynski <harakash@gmail.com> 9*70c51973SJohn Scipione */ 10*70c51973SJohn Scipione 11*70c51973SJohn Scipione 12*70c51973SJohn Scipione #include "InfoView.h" 13*70c51973SJohn Scipione 14*70c51973SJohn Scipione #include <Catalog.h> 15*70c51973SJohn Scipione #include <ControlLook.h> 16*70c51973SJohn Scipione #include <GL/gl.h> 17*70c51973SJohn Scipione #include <GL/glu.h> 18*70c51973SJohn Scipione #include <GL/glut.h> 19*70c51973SJohn Scipione #include <GridLayoutBuilder.h> 20*70c51973SJohn Scipione #include <LayoutBuilder.h> 21*70c51973SJohn Scipione #include <Locale.h> 22*70c51973SJohn Scipione #include <Message.h> 23*70c51973SJohn Scipione #include <String.h> 24*70c51973SJohn Scipione #include <StringView.h> 25*70c51973SJohn Scipione 26*70c51973SJohn Scipione 27*70c51973SJohn Scipione #undef B_TRANSLATE_CONTEXT 28*70c51973SJohn Scipione #define B_TRANSLATE_CONTEXT "InfoView" 29*70c51973SJohn Scipione 30*70c51973SJohn Scipione 31*70c51973SJohn Scipione const BAlignment kLabelAlignment(B_ALIGN_LEFT, B_ALIGN_VERTICAL_UNSET); 32*70c51973SJohn Scipione const BAlignment kValueAlignment(B_ALIGN_RIGHT, B_ALIGN_VERTICAL_UNSET); 33*70c51973SJohn Scipione 34*70c51973SJohn Scipione 35*70c51973SJohn Scipione // <bold>Render name</bold> 36*70c51973SJohn Scipione // Vendor Name GL Version 37*70c51973SJohn Scipione // GLU version GLUT API version 38*70c51973SJohn Scipione // 39*70c51973SJohn Scipione // example: 40*70c51973SJohn Scipione // Software rasterizer for X86/MMX/SSE2 41*70c51973SJohn Scipione // Mesa Project 2.1 Mesa 8.1-devel (git-2402c0) 42*70c51973SJohn Scipione // GLU 1.3 GLUT API 5 43*70c51973SJohn Scipione 44*70c51973SJohn Scipione InfoView::InfoView() 45*70c51973SJohn Scipione : 46*70c51973SJohn Scipione BGroupView(B_TRANSLATE("Information"), B_HORIZONTAL) 47*70c51973SJohn Scipione { 48*70c51973SJohn Scipione BStringView* rendererView = new BStringView(NULL, 49*70c51973SJohn Scipione (const char*)glGetString(GL_RENDERER)); 50*70c51973SJohn Scipione rendererView->SetExplicitAlignment(kLabelAlignment); 51*70c51973SJohn Scipione rendererView->SetFont(be_bold_font); 52*70c51973SJohn Scipione 53*70c51973SJohn Scipione BStringView* vendorNameView = new BStringView(NULL, 54*70c51973SJohn Scipione (const char*)glGetString(GL_VENDOR)); 55*70c51973SJohn Scipione vendorNameView->SetExplicitAlignment(kLabelAlignment); 56*70c51973SJohn Scipione 57*70c51973SJohn Scipione BStringView* glVersionView = new BStringView(NULL, 58*70c51973SJohn Scipione (const char*)glGetString(GL_VERSION)); 59*70c51973SJohn Scipione glVersionView->SetExplicitAlignment(kLabelAlignment); 60*70c51973SJohn Scipione 61*70c51973SJohn Scipione BString gluString("GLU "); 62*70c51973SJohn Scipione gluString << (const char*)gluGetString(GLU_VERSION); 63*70c51973SJohn Scipione BStringView* gluVersionView = new BStringView(NULL, gluString.String()); 64*70c51973SJohn Scipione gluVersionView->SetExplicitAlignment(kLabelAlignment); 65*70c51973SJohn Scipione 66*70c51973SJohn Scipione BString glutAPIString("GLUT API "); 67*70c51973SJohn Scipione glutAPIString << (int32)GLUT_API_VERSION; 68*70c51973SJohn Scipione BStringView* glutVersionView = new BStringView(NULL, 69*70c51973SJohn Scipione glutAPIString.String()); 70*70c51973SJohn Scipione glutVersionView->SetExplicitAlignment(kLabelAlignment); 71*70c51973SJohn Scipione 72*70c51973SJohn Scipione BLayoutBuilder::Group<>(this) 73*70c51973SJohn Scipione .AddGroup(B_VERTICAL, 0) 74*70c51973SJohn Scipione .Add(rendererView) 75*70c51973SJohn Scipione .Add(BGridLayoutBuilder(0, 0) 76*70c51973SJohn Scipione .Add(vendorNameView, 0, 0) 77*70c51973SJohn Scipione .Add(glVersionView, 1, 0) 78*70c51973SJohn Scipione .Add(gluVersionView, 0, 1) 79*70c51973SJohn Scipione .Add(glutVersionView, 1, 1) 80*70c51973SJohn Scipione ) 81*70c51973SJohn Scipione .End(); 82*70c51973SJohn Scipione } 83*70c51973SJohn Scipione 84*70c51973SJohn Scipione 85*70c51973SJohn Scipione InfoView::~InfoView() 86*70c51973SJohn Scipione { 87*70c51973SJohn Scipione } 88