170c51973SJohn Scipione /* 270c51973SJohn Scipione * Copyright 2009-2010 Haiku Inc. All rights reserved. 370c51973SJohn Scipione * Distributed under the terms of the MIT License. 470c51973SJohn Scipione * 570c51973SJohn Scipione * Authors: 670c51973SJohn Scipione * John Scipione <jscipione@gmail.com> 770c51973SJohn Scipione * Alex Wilson <yourpalal2@gmail.com> 870c51973SJohn Scipione * Artur Wyszynski <harakash@gmail.com> 970c51973SJohn Scipione */ 1070c51973SJohn Scipione 1170c51973SJohn Scipione 1270c51973SJohn Scipione #include "InfoView.h" 1370c51973SJohn Scipione 1470c51973SJohn Scipione #include <Catalog.h> 1570c51973SJohn Scipione #include <ControlLook.h> 1670c51973SJohn Scipione #include <GL/gl.h> 1770c51973SJohn Scipione #include <GL/glu.h> 1870c51973SJohn Scipione #include <GL/glut.h> 1970c51973SJohn Scipione #include <GridLayoutBuilder.h> 2070c51973SJohn Scipione #include <LayoutBuilder.h> 2170c51973SJohn Scipione #include <Locale.h> 2270c51973SJohn Scipione #include <Message.h> 2370c51973SJohn Scipione #include <String.h> 2470c51973SJohn Scipione #include <StringView.h> 2570c51973SJohn Scipione 2670c51973SJohn Scipione 27*546208a5SOliver Tappe #undef B_TRANSLATION_CONTEXT 28*546208a5SOliver Tappe #define B_TRANSLATION_CONTEXT "InfoView" 2970c51973SJohn Scipione 3070c51973SJohn Scipione 3170c51973SJohn Scipione const BAlignment kLabelAlignment(B_ALIGN_LEFT, B_ALIGN_VERTICAL_UNSET); 3270c51973SJohn Scipione const BAlignment kValueAlignment(B_ALIGN_RIGHT, B_ALIGN_VERTICAL_UNSET); 3370c51973SJohn Scipione 3470c51973SJohn Scipione 3570c51973SJohn Scipione // <bold>Render name</bold> 3670c51973SJohn Scipione // Vendor Name GL Version 3770c51973SJohn Scipione // GLU version GLUT API version 3870c51973SJohn Scipione // 3970c51973SJohn Scipione // example: 4070c51973SJohn Scipione // Software rasterizer for X86/MMX/SSE2 4170c51973SJohn Scipione // Mesa Project 2.1 Mesa 8.1-devel (git-2402c0) 4270c51973SJohn Scipione // GLU 1.3 GLUT API 5 4370c51973SJohn Scipione 4470c51973SJohn Scipione InfoView::InfoView() 4570c51973SJohn Scipione : 4670c51973SJohn Scipione BGroupView(B_TRANSLATE("Information"), B_HORIZONTAL) 4770c51973SJohn Scipione { 4870c51973SJohn Scipione BStringView* rendererView = new BStringView(NULL, 4970c51973SJohn Scipione (const char*)glGetString(GL_RENDERER)); 5070c51973SJohn Scipione rendererView->SetExplicitAlignment(kLabelAlignment); 5170c51973SJohn Scipione rendererView->SetFont(be_bold_font); 5270c51973SJohn Scipione 5370c51973SJohn Scipione BStringView* vendorNameView = new BStringView(NULL, 5470c51973SJohn Scipione (const char*)glGetString(GL_VENDOR)); 5570c51973SJohn Scipione vendorNameView->SetExplicitAlignment(kLabelAlignment); 5670c51973SJohn Scipione 5770c51973SJohn Scipione BStringView* glVersionView = new BStringView(NULL, 5870c51973SJohn Scipione (const char*)glGetString(GL_VERSION)); 5970c51973SJohn Scipione glVersionView->SetExplicitAlignment(kLabelAlignment); 6070c51973SJohn Scipione 6170c51973SJohn Scipione BString gluString("GLU "); 6270c51973SJohn Scipione gluString << (const char*)gluGetString(GLU_VERSION); 6370c51973SJohn Scipione BStringView* gluVersionView = new BStringView(NULL, gluString.String()); 6470c51973SJohn Scipione gluVersionView->SetExplicitAlignment(kLabelAlignment); 6570c51973SJohn Scipione 6670c51973SJohn Scipione BString glutAPIString("GLUT API "); 6770c51973SJohn Scipione glutAPIString << (int32)GLUT_API_VERSION; 6870c51973SJohn Scipione BStringView* glutVersionView = new BStringView(NULL, 6970c51973SJohn Scipione glutAPIString.String()); 7070c51973SJohn Scipione glutVersionView->SetExplicitAlignment(kLabelAlignment); 7170c51973SJohn Scipione 7270c51973SJohn Scipione BLayoutBuilder::Group<>(this) 7370c51973SJohn Scipione .AddGroup(B_VERTICAL, 0) 7470c51973SJohn Scipione .Add(rendererView) 7570c51973SJohn Scipione .Add(BGridLayoutBuilder(0, 0) 7670c51973SJohn Scipione .Add(vendorNameView, 0, 0) 7770c51973SJohn Scipione .Add(glVersionView, 1, 0) 7870c51973SJohn Scipione .Add(gluVersionView, 0, 1) 7970c51973SJohn Scipione .Add(glutVersionView, 1, 1) 8070c51973SJohn Scipione ) 8170c51973SJohn Scipione .End(); 8270c51973SJohn Scipione } 8370c51973SJohn Scipione 8470c51973SJohn Scipione 8570c51973SJohn Scipione InfoView::~InfoView() 8670c51973SJohn Scipione { 8770c51973SJohn Scipione } 88