[haiku-commits] haiku: hrev43966 - src/add-ons/screen_savers/glife

  • From: kallisti5@xxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 7 Apr 2012 03:13:14 +0200 (CEST)

hrev43966 adds 6 changesets to branch 'master'
old head: 3ea5972eb53695826f2901be1d9027d5b979f2f9
new head: 7d0f6bd08c6a85222ceb55f49abb1ba805a91e05

----------------------------------------------------------------------------

0b4c562: screen_savers: Initial import of GLife
  
  * Donated to Haiku by author (Aaron Hill) under
    the MIT license.
  * Resources conveted to rdef
  * Headers cleaned up
  * Jamfile created

51f9263: glife: Pass const char* for name vs char*
  
  * Upgrades to Mesa vs Be BGLView

9339eb2: glife: Enable in Jamfiles / build system

3c94b5c: glife: Rename *.hpp to *.h

8bc51be: glife: Initial style cleanup

7d0f6bd: Merge branch 'glife'

                          [ Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> ]

----------------------------------------------------------------------------

12 files changed, 840 insertions(+), 0 deletions(-)
src/add-ons/screen_savers/Jamfile               |    1 +
src/add-ons/screen_savers/glife/GLife.rdef      |   69 +++++++
src/add-ons/screen_savers/glife/GLifeConfig.cpp |  111 +++++++++++
src/add-ons/screen_savers/glife/GLifeConfig.h   |   46 +++++
src/add-ons/screen_savers/glife/GLifeGrid.cpp   |   90 +++++++++
src/add-ons/screen_savers/glife/GLifeGrid.h     |   36 ++++
src/add-ons/screen_savers/glife/GLifeSaver.cpp  |  114 +++++++++++
src/add-ons/screen_savers/glife/GLifeSaver.h    |   48 +++++
src/add-ons/screen_savers/glife/GLifeState.h    |   64 +++++++
src/add-ons/screen_savers/glife/GLifeView.cpp   |  188 +++++++++++++++++++
src/add-ons/screen_savers/glife/GLifeView.h     |   37 ++++
src/add-ons/screen_savers/glife/Jamfile         |   36 ++++

############################################################################

Commit:      0b4c5624c6489a344c23e8f203f2897f8639aa1d
URL:         http://cgit.haiku-os.org/haiku/commit/?id=0b4c562
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sun Apr  1 15:28:59 2012 UTC

screen_savers: Initial import of GLife

* Donated to Haiku by author (Aaron Hill) under
  the MIT license.
* Resources conveted to rdef
* Headers cleaned up
* Jamfile created

----------------------------------------------------------------------------

diff --git a/src/add-ons/screen_savers/Jamfile 
b/src/add-ons/screen_savers/Jamfile
index 0564ffc..edb42c6 100644
--- a/src/add-ons/screen_savers/Jamfile
+++ b/src/add-ons/screen_savers/Jamfile
@@ -3,6 +3,7 @@ SubDir HAIKU_TOP src add-ons screen_savers ;
 SubInclude HAIKU_TOP src add-ons screen_savers butterfly ;
 SubInclude HAIKU_TOP src add-ons screen_savers debugnow ;
 SubInclude HAIKU_TOP src add-ons screen_savers flurry ;
+#SubInclude HAIKU_TOP src add-ons screen_savers glife ;
 SubInclude HAIKU_TOP src add-ons screen_savers haiku ;
 SubInclude HAIKU_TOP src add-ons screen_savers icons ;
 SubInclude HAIKU_TOP src add-ons screen_savers ifs ;
diff --git a/src/add-ons/screen_savers/glife/GLife.rdef 
b/src/add-ons/screen_savers/glife/GLife.rdef
new file mode 100644
index 0000000..be55c63
--- /dev/null
+++ b/src/add-ons/screen_savers/glife/GLife.rdef
@@ -0,0 +1,69 @@
+
+resource app_signature "application/x-vnd.Haiku-GLifeScreensaver";
+
+resource app_name_catalog_entry "x-vnd.Haiku-GLifeScreensaver:System 
name:GLife";
+
+resource app_version {
+    major  = 1,
+    middle = 0,
+    minor  = 0,
+    variety = 0,
+    internal = 0,
+    short_info = "1.0.0",
+    long_info = "A GL 'Game of Life' Screensaver"
+};
+
+
+resource large_icon array {
+       $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
+       $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000FFFFFF"
+       $"FFFFFFFF3939FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFF"
+       $"FFFFFF3934343939FFFFFFFFFFFFFFFFFFFFFFFF00FF000000FFFFFFFFFF00FF"
+       $"FFFF3934343434343939FFFFFFFFFFFFFFFFFFFF00FFFFFF00FF000000FF00FF"
+       $"FF393434343434349FDF3939FFFFFFFFFFFFFFFF00FFFF00FFFFFFFF00FF00FF"
+       $"394F34343434349F9F3934343939FFFFFFFFFFFF00FF000000FFFF00FFFF00FF"
+       $"39374F4F34349F9F3934343434343939FFFFFFFF00FFFFFFFFFF000000FF00FF"
+       $"393737374F9F9F393434343434349FDFFFFFFFFFFF00FFFFFFFFFFFFFFFF00FF"
+       $"39373737379F394F34343434349F9FDFFFFFFFFFFFFF00000000000000FF00FF"
+       $"39393737379F39374F4F34349F9F9FDFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF"
+       $"FFFF3939379F393737374F9F9F9F9FDFFFFFFFFFFFFF3939FFFFFFFFFFFF00FF"
+       $"FFFFFFFF39DF39373737379F9F9FDFFFFFFFFFFFFF3934343939FFFFFFFFFFFF"
+       $"FFFFFF39343439393737379F9FDFFFFF3939FFFF3934343434343939FFFFFFFF"
+       $"FFFF3934343434343939379FDFFFFF39343439393434343434349FDFFFFFFFFF"
+       $"FF393434343434349FDF39DFFFFF39343434394F34343434349F9FDFFFFFFFFF"
+       $"394F34343434349F9F393434FF393434343439374F4F34349F9F9FDFFFFFFFFF"
+       $"39374F4F34349F9F39343434394F34343434393737374F9F9F9F9FDFFFFFFFFF"
+       $"393737374F9F9F393434343439374F4F343439373737379F9F9FDFDFFFFFFFFF"
+       $"39373737379F394F34343434393737374F9F39393737379F9FDF9FDFFFFFFFFF"
+       $"39393737379F39374F4F343439373737379F39373939379FDF9F9FDFFFFFFFFF"
+       $"FFFF3939379F393737374F9F39393737379F3937373739DF9F9F9FDFFFFFFFFF"
+       $"FFFFFFFF39DF39373737379F9F9F3939379F393737374F9F9F9F9FDF10FFFFFF"
+       $"FFFFFFFFFFFF39393737379F9FDF101039DF39373737379F9F9FDFDF101010FF"
+       $"FFFFFFFFFFFFFFFF3939379FDF1010FFFFFF39393737379F9FDF9FDF10101010"
+       $"FFFFFFFFFFFFFFFFFFFF39DF1010FFFFFFFF39373939379FDF9F9FDF10101010"
+       $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3937373739DF9F9F9FDF101010FF"
+       $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF393737374F9F9F9F9FDF1010FFFF"
+       $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39373737379F9F9FDF1010FFFFFF"
+       $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39393737379F9FDF1010FFFFFFFF"
+       $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3939379FDF1010FFFFFFFFFF"
+       $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39DF1010FFFFFFFFFFFF"
+};
+
+resource mini_icon array {
+       $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
+       $"FFFFFFFFFFFFFFFF000000FFFFFFFFFF"
+       $"FFFFFFFFFFFFFFFFFFFF00FF000000FF"
+       $"FFFFFFFFFFFFFFFFFF00FFFFFFFF00FF"
+       $"FFFFFFFFFFFFFFFF000000FFFF00FFFF"
+       $"FFFFFFFF3939FFFFFFFFFFFF000000FF"
+       $"FFFFFF3934343939FFFFFFFFFFFFFFFF"
+       $"FFFF3934343434343939FFFFFFFFFFFF"
+       $"FF393434343434349FDFFFFFFFFFFFFF"
+       $"394F34343434349F9FDF10FFFFFFFFFF"
+       $"39374F4F34349F9F9FDF1010FFFFFFFF"
+       $"393737374F9F9F9F9FDF1010FFFFFFFF"
+       $"39373737379F9F9FDF1010FFFFFFFFFF"
+       $"39393737379F9FDF1010FFFFFFFFFFFF"
+       $"FFFF3939379FDF1010FFFFFFFFFFFFFF"
+       $"FFFFFFFF39DF1010FFFFFFFFFFFFFFFF"
+};
diff --git a/src/add-ons/screen_savers/glife/GLifeConfig.cpp 
b/src/add-ons/screen_savers/glife/GLifeConfig.cpp
new file mode 100644
index 0000000..1498015
--- /dev/null
+++ b/src/add-ons/screen_savers/glife/GLifeConfig.cpp
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2012, Haiku, Inc.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ *             Aaron Hill <serac@xxxxxxxxxxxxxxx>
+ */
+
+
+#include <stdio.h>
+#include <Slider.h>
+#include <StringView.h>
+#include <View.h>
+
+#include "GLifeState.hpp"
+#include "GLifeConfig.hpp"
+
+
+// ------------------------------------------------------
+//  GLifeConfig Class Constructor Definition
+GLifeConfig::GLifeConfig( BRect rFrame, GLifeState* pglsState )
+       :       BView( rFrame, "", B_FOLLOW_NONE, B_WILL_DRAW ),
+               m_pglsState( pglsState )
+{
+       // Static Labels
+       AddChild( new BStringView( BRect(10, 0, 240, 12), B_EMPTY_STRING,
+                                                          "Open GL \"Game of 
Life\" Screen Saver" ) );
+       AddChild( new BStringView( BRect(16, 14, 240, 26), B_EMPTY_STRING,
+                                                          "by Aaron Hill" ) );
+
+       // Sliders
+       m_pbsGridWidth = new BSlider( BRect(10, 34, 234, 84), "GridWidth",
+                                                                 "Width of 
Grid : ",
+                                                                 new BMessage( 
e_midGridWidth ),
+                                                                 10, 100, 
B_BLOCK_THUMB );
+       m_pbsGridWidth->SetHashMarks( B_HASH_MARKS_BOTTOM );
+       m_pbsGridWidth->SetLimitLabels( "10", "100" );
+       m_pbsGridWidth->SetValue( pglsState->GridWidth() );
+       m_pbsGridWidth->SetHashMarkCount( 10 );
+       AddChild( m_pbsGridWidth );
+
+       m_pbsGridHeight = new BSlider( BRect(10, 86, 234, 136), "GridHeight",
+                                                                  "Height of 
Grid : ",
+                                                                  new 
BMessage( e_midGridHeight ),
+                                                                  10, 100, 
B_BLOCK_THUMB );
+       m_pbsGridHeight->SetHashMarks( B_HASH_MARKS_BOTTOM );
+       m_pbsGridHeight->SetLimitLabels( "10", "100" );
+       m_pbsGridHeight->SetValue( pglsState->GridHeight() );
+       m_pbsGridHeight->SetHashMarkCount( 10 );
+       AddChild( m_pbsGridHeight );
+
+       m_pbsBorder = new BSlider( BRect(10, 138, 234, 188), "Border",
+                                                          "Overlap Border : ",
+                                                          new BMessage( 
e_midBorder ),
+                                                          0, 10, B_BLOCK_THUMB 
);
+       m_pbsBorder->SetHashMarks( B_HASH_MARKS_BOTTOM );
+       m_pbsBorder->SetLimitLabels( "0", "10" );
+       m_pbsBorder->SetValue( pglsState->Border() );
+       m_pbsBorder->SetHashMarkCount( 11 );
+       AddChild( m_pbsBorder );
+}
+
+// ------------------------------------------------------
+//  GLifeConfig Class AttachedToWindow Definition
+void GLifeConfig::AttachedToWindow( void )
+{
+       SetViewColor( ui_color( B_PANEL_BACKGROUND_COLOR ) );
+       
+       m_pbsGridWidth->SetTarget( this );
+       m_pbsGridHeight->SetTarget( this );
+       m_pbsBorder->SetTarget( this );
+
+#ifdef _USE_ASYNCHRONOUS
+       
+       m_uiWindowFlags = Window()->Flags();
+       Window()->SetFlags( m_uiWindowFlags | B_ASYNCHRONOUS_CONTROLS );
+
+#endif
+}
+
+// ------------------------------------------------------
+//  GLifeConfig Class MessageReceived Definition
+void GLifeConfig::MessageReceived( BMessage* pbmMessage )
+{
+       char    szNewLabel[64];
+       int32   iValue;
+       
+       switch( pbmMessage->what )
+       {
+       case e_midGridWidth:
+               m_pglsState->GridWidth() = ( iValue = m_pbsGridWidth->Value() );
+               sprintf( szNewLabel, "Width of Grid : %li", iValue );
+               m_pbsGridWidth->SetLabel( szNewLabel );
+               break;
+       case e_midGridHeight:
+               m_pglsState->GridHeight() = ( iValue = m_pbsGridHeight->Value() 
);
+               sprintf( szNewLabel, "Height of Grid : %li", iValue );
+               m_pbsGridHeight->SetLabel( szNewLabel );
+               break;
+       case e_midBorder:
+               m_pglsState->Border() = ( iValue = m_pbsBorder->Value() );
+               sprintf( szNewLabel, "Overlap Border : %li", iValue );
+               m_pbsBorder->SetLabel( szNewLabel );
+               break;
+               
+       default:
+               BView::MessageReceived( pbmMessage );
+               break;
+       }
+}
diff --git a/src/add-ons/screen_savers/glife/GLifeConfig.hpp 
b/src/add-ons/screen_savers/glife/GLifeConfig.hpp
new file mode 100644
index 0000000..baff361
--- /dev/null
+++ b/src/add-ons/screen_savers/glife/GLifeConfig.hpp
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2012, Haiku, Inc.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ *             Aaron Hill <serac@xxxxxxxxxxxxxxx>
+ */
+#ifndef _GLIFE_GLIFECONFIG_HPP
+#define _GLIFE_GLIFECONFIG_HPP
+
+
+#include <Slider.h>
+#include <View.h>
+
+#include "GLifeState.hpp"
+
+
+// Message IDs
+enum {
+       e_midGridWidth          = 'grdw',
+       e_midGridHeight         = 'grdh',
+       e_midBorder                     = 'bord'
+};
+
+
+// GLifeConfig Class Declaration
+class GLifeConfig : public BView
+{
+private:
+       GLifeState*     m_pglsState;
+       
+       uint32          m_uiWindowFlags;
+       
+       BSlider*        m_pbsGridWidth;
+       BSlider*        m_pbsGridHeight;
+       BSlider*        m_pbsBorder;
+       
+public:
+                               GLifeConfig( BRect, GLifeState* );
+       
+       void            AttachedToWindow( void );
+       void            MessageReceived( BMessage* );
+};
+
+#endif /* _GLIFE_GLIFECONFIG_HPP */
diff --git a/src/add-ons/screen_savers/glife/GLifeGrid.cpp 
b/src/add-ons/screen_savers/glife/GLifeGrid.cpp
new file mode 100644
index 0000000..44dd5fc
--- /dev/null
+++ b/src/add-ons/screen_savers/glife/GLifeGrid.cpp
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2012, Haiku, Inc.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ *             Aaron Hill <serac@xxxxxxxxxxxxxxx>
+ */
+
+
+#include <math.h>
+#include <stdlib.h>
+#include <SupportDefs.h>
+
+#include "GLifeGrid.hpp"
+
+
+// ------------------------------------------------------
+//  GLifeGrid Class Neighbors Definition
+inline int32 GLifeGrid::Neighbors( int32 iRow, int32 iColumn )
+{
+       return ( Occupied( iRow - 1, iColumn - 1 ) ? 1 : 0 ) + 
+                  ( Occupied( iRow - 1, iColumn     ) ? 1 : 0 ) + 
+                  ( Occupied( iRow - 1, iColumn + 1 ) ? 1 : 0 ) +
+                  ( Occupied( iRow    , iColumn - 1 ) ? 1 : 0 ) + 
+                  ( Occupied( iRow    , iColumn + 1 ) ? 1 : 0 ) + 
+                  ( Occupied( iRow + 1, iColumn - 1 ) ? 1 : 0 ) + 
+                  ( Occupied( iRow + 1, iColumn     ) ? 1 : 0 ) + 
+                  ( Occupied( iRow + 1, iColumn + 1 ) ? 1 : 0 );
+}
+
+// ------------------------------------------------------
+//  GLifeGrid Class Constructor Definition
+GLifeGrid::GLifeGrid( int32 iWidth, int32 iHeight )
+       :       m_iWidth( iWidth ), m_iHeight( iHeight )
+{
+       m_pbGrid = new bool[iWidth * iHeight];  
+       
+       // Randomize new grid
+       for( int32 iRow = 0; iRow < iHeight; ++iRow )
+       {
+               for( int32 iColumn = 0; iColumn < iWidth; ++iColumn )
+               {
+                       // TODO: Allow for customized randomization level
+                       m_pbGrid[ ( iRow * iWidth ) + iColumn ] = ( (rand() % 6 
) == 0 );
+               }
+       }
+}
+
+// ------------------------------------------------------
+//  GLifeGrid Class Destructor Definition
+GLifeGrid::~GLifeGrid( void )
+{
+       delete m_pbGrid;
+}
+
+// ------------------------------------------------------
+//  GLifeGrid Class Generation Definition
+void GLifeGrid::Generation( void )
+{
+       bool* pbTemp = new bool[m_iWidth * m_iHeight];
+
+       for( int32 iRow = 0; iRow < m_iHeight; ++iRow )
+       {
+               for( int32 iColumn = 0; iColumn < m_iWidth; ++iColumn )
+               {
+                       int32 iNum = Neighbors( iRow, iColumn );
+                       pbTemp[ ( iRow * m_iWidth ) + iColumn ] =
+                               ( ( iNum == 3 ) ||
+                               ( Occupied( iRow, iColumn ) && iNum >= 2 && 
iNum <= 3 ) );
+               }
+       }
+       
+       // Swap grids
+       delete m_pbGrid;
+       m_pbGrid = pbTemp;
+}
+
+// ------------------------------------------------------
+//  GLifeGrid Class Occupied Definition
+bool GLifeGrid::Occupied( int32 iRow, int32 iColumn )
+{
+       int32 iNewRow = ( iRow % m_iHeight ), iNewColumn = ( iColumn % m_iWidth 
);
+       while( iNewRow < 0 ) iNewRow += m_iHeight;
+       while( iNewColumn < 0 ) iNewColumn += m_iWidth;
+       return m_pbGrid[ ( iNewRow * m_iWidth ) + iNewColumn ];
+}
\ No newline at end of file
diff --git a/src/add-ons/screen_savers/glife/GLifeGrid.hpp 
b/src/add-ons/screen_savers/glife/GLifeGrid.hpp
new file mode 100644
index 0000000..3d0441d
--- /dev/null
+++ b/src/add-ons/screen_savers/glife/GLifeGrid.hpp
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2012, Haiku, Inc.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ *             Aaron Hill <serac@xxxxxxxxxxxxxxx>
+ */
+#ifndef _GLIFE_GLIFEGRID_HPP
+#define _GLIFE_GLIFEGRID_HPP
+
+
+// GLifeGrid Class Declaration
+class GLifeGrid
+{
+private:
+       bool*           m_pbGrid;
+       int32           m_iWidth;
+       int32           m_iHeight;
+       
+       int32           Neighbors( int32, int32 );
+       
+public:
+       // Constructor & Destructor
+                               GLifeGrid( int32, int32 );
+                               ~GLifeGrid( void );
+       // Public Methods
+       void            Generation( void );
+       // Accessor Methods
+       bool            Occupied( int32, int32 );
+};
+
+#endif /* _GLIFE_GLIFEGRID_HPP */
\ No newline at end of file
diff --git a/src/add-ons/screen_savers/glife/GLifeSaver.cpp 
b/src/add-ons/screen_savers/glife/GLifeSaver.cpp
new file mode 100644
index 0000000..10eb0d1
--- /dev/null
+++ b/src/add-ons/screen_savers/glife/GLifeSaver.cpp
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2012, Haiku, Inc.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ *             Aaron Hill <serac@xxxxxxxxxxxxxxx>
+ */
+ 
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <GLView.h>
+#include <ScreenSaver.h>
+#include <View.h>
+
+#include "GLifeGrid.hpp"
+#include "GLifeState.hpp"
+#include "GLifeConfig.hpp"
+#include "GLifeView.hpp"
+#include "GLifeSaver.hpp"
+
+// ------------------------------------------------------
+//  GLifeSaver Class Constructor Definition
+GLifeSaver::GLifeSaver( BMessage* pbmPrefs, image_id iidImage )
+       :       BScreenSaver( pbmPrefs, iidImage )
+{
+       // Check for preferences
+       if ( !( pbmPrefs->IsEmpty() ) )
+               RestoreState( pbmPrefs );
+       
+       // Seed random number generator
+       srandom( system_time() );
+}
+
+// ------------------------------------------------------
+//  GLifeSaver Class SaveState Definition
+status_t GLifeSaver::SaveState( BMessage* pbmPrefs ) const
+{
+       return m_glsState.SaveState( pbmPrefs );
+}
+
+// ------------------------------------------------------
+//  GLifeSaver Class RestoreState Definition
+void GLifeSaver::RestoreState( BMessage* pbmPrefs )
+{
+       m_glsState.RestoreState( pbmPrefs );
+}
+
+// ------------------------------------------------------
+//  GLifeSaver Class StartConfig Definition
+void GLifeSaver::StartConfig( BView* pbvView )
+{
+       // Setup the "config" class
+       GLifeConfig* pglcConfig = new GLifeConfig( pbvView->Bounds(),
+                                                                               
           &m_glsState );
+       pbvView->AddChild( pglcConfig );
+}
+
+// ------------------------------------------------------
+//  GLifeSaver Class StartSaver Definition
+status_t GLifeSaver::StartSaver( BView* pbvView, bool bPreview )
+{
+       if ( bPreview )
+       {
+               // We do not use the preview option
+               m_pglvViewport = 0;
+               return B_ERROR;
+       }
+       else
+       {
+               SetTickSize( c_iTickSize );
+               
+               m_pglvViewport = new GLifeView( pbvView->Bounds(),
+                                                                               
"GLifeView",
+                                                                               
B_FOLLOW_NONE,
+                                                                               
BGL_RGB | BGL_DEPTH | BGL_DOUBLE,
+                                                                               
&m_glsState );
+               pbvView->AddChild( m_pglvViewport );
+               
+               return B_OK;
+       }
+}
+
+// ------------------------------------------------------
+//  GLifeSaver Class StopSaver Definition
+void GLifeSaver::StopSaver( void )
+{
+       if ( m_pglvViewport )
+               m_pglvViewport->EnableDirectMode( false );
+}
+
+// ------------------------------------------------------
+//  GLifeSaver Class DirectConnected Definition
+void GLifeSaver::DirectConnected( direct_buffer_info* pdbiInfo )
+{
+       m_pglvViewport->DirectConnected( pdbiInfo );
+       m_pglvViewport->EnableDirectMode( true );
+}
+
+// ------------------------------------------------------
+//  GLifeSaver Class DirectDraw Definition
+void GLifeSaver::DirectDraw( int32 iFrame )
+{
+       m_pglvViewport->Advance();
+}
+
+// ------------------------------------------------------
+//  Main Instantiation Function
+extern "C" _EXPORT BScreenSaver*
+instantiate_screen_saver( BMessage* pbmPrefs, image_id iidImage )
+{
+       return new GLifeSaver( pbmPrefs, iidImage );
+}
diff --git a/src/add-ons/screen_savers/glife/GLifeSaver.hpp 
b/src/add-ons/screen_savers/glife/GLifeSaver.hpp
new file mode 100644
index 0000000..36c8354
--- /dev/null
+++ b/src/add-ons/screen_savers/glife/GLifeSaver.hpp
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2012, Haiku, Inc.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ *             Aaron Hill <serac@xxxxxxxxxxxxxxx>
+ */
+#ifndef _GLIFE_GLIFESAVER_HPP
+#define _GLIFE_GLIFESAVER_HPP
+
+
+// Required Includes
+// #include <ScreenSaver.h>
+// #include <View.h>
+
+
+// Constants
+const int32 c_iTickSize = 50000;
+
+
+// GLifeSaver Class Declaration
+class GLifeSaver : public BScreenSaver
+{
+private:
+       GLifeState      m_glsState;
+
+       GLifeView*      m_pglvViewport;
+
+public:
+       // Constructor
+                               GLifeSaver( BMessage*, image_id );
+
+       // State/Preferences Methods                    
+       status_t        SaveState( BMessage* ) const;
+       void            RestoreState( BMessage* );
+       void            StartConfig( BView* );
+
+       // Start/Stop Methods
+       status_t        StartSaver( BView*, bool );
+       void            StopSaver( void );
+
+       // Graphics Methods
+       void            DirectConnected( direct_buffer_info* );
+       void            DirectDraw( int32 );
+};
+
+
+#endif /* _GLIFE_GLIFESAVER_HPP */
diff --git a/src/add-ons/screen_savers/glife/GLifeState.hpp 
b/src/add-ons/screen_savers/glife/GLifeState.hpp
new file mode 100644
index 0000000..fc64f55
--- /dev/null
+++ b/src/add-ons/screen_savers/glife/GLifeState.hpp
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2012, Haiku, Inc.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ *             Aaron Hill <serac@xxxxxxxxxxxxxxx>
+ */
+#ifndef _GLIFE_GLIFESTATE_HPP
+#define _GLIFE_GLIFESTATE_HPP
+
+
+// Constants
+const int32 c_iDefGridWidth = 60;
+const int32 c_iDefGridHeight = 40;
+const int32 c_iDefBorder = 0;
+
+// GLifeState Class Declaration & Definition
+class GLifeState
+{
+private:
+       int32   m_iGridWidth;
+       int32   m_iGridHeight;
+       int32   m_iBorder;
+       
+public:
+       // Constructor
+                               GLifeState( void ) : 
m_iGridWidth(c_iDefGridWidth),
+                                                                        
m_iGridHeight(c_iDefGridHeight),
+                                                                        
m_iBorder(c_iDefBorder) { };
+
+       // Save/Restore State Methods
+       status_t        SaveState( BMessage* pbmPrefs ) const
+       {
+               // Store current preferences
+               pbmPrefs->AddInt32( "m_iGridWidth", m_iGridWidth );
+               pbmPrefs->AddInt32( "m_iGridHeight", m_iGridHeight );
+               pbmPrefs->AddInt32( "m_iBorder", m_iBorder );
+                                       
+               return B_OK;
+       };
+       
+       void            RestoreState( BMessage* pbmPrefs )
+       {
+               // Retrieve preferences, substituting defaults
+               if ( pbmPrefs->FindInt32( "m_iGridWidth",
+                                                                 &m_iGridWidth 
) != B_OK )
+                       m_iGridWidth = c_iDefGridWidth;
+               if ( pbmPrefs->FindInt32( "m_iGridHeight",
+                                                                 
&m_iGridHeight ) != B_OK )
+                       m_iGridHeight = c_iDefGridHeight;
+               if ( pbmPrefs->FindInt32( "m_iBorder",
+                                                                 &m_iBorder ) 
!= B_OK )
+                       m_iBorder = c_iDefBorder;
+       };
+       
+       // Accessor Methods
+       int32&          GridWidth( void ) { return m_iGridWidth; };
+       int32&          GridHeight( void ) { return m_iGridHeight; };
+       int32&          Border( void ) { return m_iBorder; };
+};
+
+
+#endif /* _GLIFE_GLIFESTATE_HPP */
diff --git a/src/add-ons/screen_savers/glife/GLifeView.cpp 
b/src/add-ons/screen_savers/glife/GLifeView.cpp
new file mode 100644
index 0000000..f23a6f2
--- /dev/null
+++ b/src/add-ons/screen_savers/glife/GLifeView.cpp
@@ -0,0 +1,184 @@
+/*
+ * Copyright 2012, Haiku, Inc.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ *             Aaron Hill <serac@xxxxxxxxxxxxxxx>
+ */
+
+
+#include <math.h>
+#include <stdlib.h>
+#include <GL/glu.h>
+#include <GLView.h>
+
+#include "GLifeGrid.hpp"
+#include "GLifeState.hpp"
+#include "GLifeView.hpp"
+
+
+// ------------------------------------------------------
+//  GLifeView Class Constructor Definition
+GLifeView::GLifeView(BRect rect, char* name, ulong resizingMode,
+       ulong options, GLifeState* pglsState)
+       :
+       BGLView(rect, name, resizingMode, 0, options),
+       m_pglsState(pglsState)
+{
+       // Setup the grid
+       m_pglgGrid = new GLifeGrid( pglsState->GridWidth(), 
pglsState->GridHeight() );
+
+       LockGL();
+       
+       glClearDepth( 1.0 );
+       glDepthFunc( GL_LESS );
+       glEnable( GL_DEPTH_TEST );
+       
+       glEnable( GL_BLEND );
+       glBlendFunc( GL_SRC_ALPHA, GL_ONE );
+#if 0  
+       glShadeModel( GL_SMOOTH );
+#endif
+       glMatrixMode( GL_PROJECTION );
+       glLoadIdentity();
+       gluPerspective( 45.0, rect.Width() / rect.Height(), 2.0, 20000.0 );
+       glTranslatef( 0.0, 0.0, -50.0 );
+       glMatrixMode( GL_MODELVIEW );
+       
+       glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );
+       
+       UnlockGL();
+}
+
+// ------------------------------------------------------
+//  GLifeView Class Destructor Definition
+GLifeView::~GLifeView( void )
+{
+       delete m_pglgGrid;
+}
+
+// ------------------------------------------------------
+//  GLifeView Class AttachedToWindow Definition
+void GLifeView::AttachedToWindow( void )
+{
+       LockGL();
+       BGLView::AttachedToWindow();
+       UnlockGL();
+}
+
+// ------------------------------------------------------
+//  GLifeView Class Draw Definition
+void GLifeView::Draw(BRect updateRect)
+{
+       glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
+       
+       // TODO:  Dynamic colors or user-specified coloring
+       GLfloat glfGreen[] = { 0.05, 0.8, 0.15, 1.0 };
+       GLfloat glfOrange[] = { 0.65, 0.3, 0.05, 1.0 };
+       
+       // Border control
+       bool bColor;
+       
+       int32 iWidth = m_pglsState->GridWidth();
+       int32 iHeight = m_pglsState->GridHeight();
+       int32 iBorder = m_pglsState->Border();
+               
+       glPushMatrix();
+       
+       glRotatef( m_glfDelta * 3, 1.0, 0.0, 0.0 );
+       glRotatef( m_glfDelta * 1, 0.0, 0.0, 1.0 );
+       glRotatef( m_glfDelta * 2, 0.0, 1.0, 0.0 );
+       
+       for( int32 iRow = ( 0 - iBorder ); iRow < ( iHeight + iBorder ); ++iRow 
)
+       {
+               GLfloat glfY = (GLfloat) iRow - ( (GLfloat) iHeight / 2 );
+               
+               for( int32 iColumn = ( 0 - iBorder ); iColumn < ( iWidth + 
iBorder ); ++iColumn )
+               {
+                       GLfloat glfX = (GLfloat) iColumn - ( (GLfloat) iWidth / 
2 );
+                       
+                       bColor = (iColumn < 0) || (iColumn >= iWidth) || (iRow 
< 0) || (iRow >= iHeight);
+
+                       if ( m_pglgGrid->Occupied( iRow, iColumn ) )
+                       {
+                               glPushMatrix();
+                               
+                               glTranslatef( glfX, glfY, 0.0 );
+                               glScalef( 0.45, 0.45, 0.45 );
+                       
+                               glBegin( GL_QUAD_STRIP );
+                                       if (bColor)
+                                               glColor3f( 0.65, 0.3, 0.05 );
+                                       else
+                                               glColor3f( 0.05, 0.8, 0.15 );
+                                       glMaterialfv(GL_FRONT, GL_DIFFUSE, 
bColor ? glfOrange : glfGreen);
+                                       glNormal3f(  0.0,  1.0,  0.0 );
+                                       glVertex3f(  1.0,  1.0, -1.0 );
+                                       glVertex3f( -1.0,  1.0, -1.0 );
+                                       glVertex3f(  1.0,  1.0,  1.0 );
+                                       glVertex3f( -1.0,  1.0,  1.0 ); 
+       
+                                       glNormal3f(  0.0,  0.0,  1.0 );
+                                       glVertex3f( -1.0,  1.0,  1.0 );
+                                       glVertex3f(  1.0,  1.0,  1.0 );
+                                       glVertex3f( -1.0, -1.0,  1.0 );
+                                       glVertex3f(  1.0, -1.0,  1.0 );
+                       
+                                       glNormal3f(  0.0, -1.0,  0.0 );
+                                       glVertex3f( -1.0, -1.0,  1.0 );
+                                       glVertex3f(  1.0, -1.0,  1.0 );
+                                       glVertex3f( -1.0, -1.0, -1.0 );
+                                       glVertex3f(  1.0, -1.0, -1.0 );
+                               glEnd();
+                       
+                               glBegin( GL_QUAD_STRIP);
+                                       if (bColor)
+                                               glColor3f( 0.65, 0.3, 0.05 );
+                                       else
+                                               glColor3f( 0.05, 0.8, 0.15 );
+                                       glMaterialfv(GL_FRONT, GL_DIFFUSE, 
bColor ? glfOrange : glfGreen);
+                                       glNormal3f( -1.0,  0.0,  0.0 );
+                                       glVertex3f( -1.0,  1.0,  1.0 );
+                                       glVertex3f( -1.0, -1.0,  1.0 );
+                                       glVertex3f( -1.0,  1.0, -1.0 );
+                                       glVertex3f( -1.0, -1.0, -1.0 );
+                               
+                                       glNormal3f(  0.0,  0.0, -1.0 );
+                                       glVertex3f( -1.0,  1.0, -1.0 );
+                                       glVertex3f( -1.0, -1.0, -1.0 );
+                                       glVertex3f(  1.0,  1.0, -1.0 );
+                                       glVertex3f(  1.0, -1.0, -1.0 );
+       
+                                       glNormal3f(  1.0,  0.0,  0.0 );
+                                       glVertex3f(  1.0,  1.0, -1.0 );
+                                       glVertex3f(  1.0, -1.0, -1.0 );
+                                       glVertex3f(  1.0,  1.0,  1.0 );
+                                       glVertex3f(  1.0, -1.0,  1.0 );
+                               glEnd();
+
+                               glPopMatrix();
+                       }
+               }
+       }
+       
+       glPopMatrix();
+}
+
+// ------------------------------------------------------
+//  GLifeView Class Advance Definition
+void GLifeView::Advance( void )
+{
+       if ( ( ++m_glfDelta ) > 360.0)
+               m_glfDelta -= 360.0;
+       // TODO: Allow for customized intervals
+       if ( ( ++m_iStep ) > 4 )
+       {
+               m_iStep = 0;
+               m_pglgGrid->Generation();
+       }
+       LockGL();
+       BRect location(0,0,0,0);
+       Draw(location);
+       SwapBuffers();
+       UnlockGL();
+}
diff --git a/src/add-ons/screen_savers/glife/GLifeView.hpp 
b/src/add-ons/screen_savers/glife/GLifeView.hpp
new file mode 100644
index 0000000..c5f858e
--- /dev/null
+++ b/src/add-ons/screen_savers/glife/GLifeView.hpp
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2012, Haiku, Inc.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ *             Aaron Hill <serac@xxxxxxxxxxxxxxx>
+ */
+#ifndef _GLIFE_GLIFEVIEW_HPP
+#define _GLIFE_GLIFEVIEW_HPP
+
+
+#include <GLView.h>
+#include "GLifeState.hpp"
+
+
+// GLifeView Class Declaration
+class GLifeView : public BGLView {
+public:
+       // Constructor & Destructor
+                                               GLifeView( BRect, char*, ulong, 
ulong, GLifeState* );
+                                               ~GLifeView( void );
+                               
+       // Public Methods
+                       void            AttachedToWindow( void );
+       virtual void            Draw(BRect updateRect);
+                       void            Advance( void );
+
+private:
+                       GLifeState*     m_pglsState;
+                       GLifeGrid*      m_pglgGrid;
+
+                       GLfloat         m_glfDelta;
+                       int32           m_iStep;
+};
+
+#endif /* _GLIFE_GLIFEVIEW_HPP */
diff --git a/src/add-ons/screen_savers/glife/Jamfile 
b/src/add-ons/screen_savers/glife/Jamfile
new file mode 100644
index 0000000..9ddc2e1
--- /dev/null
+++ b/src/add-ons/screen_savers/glife/Jamfile
@@ -0,0 +1,36 @@
+SubDir HAIKU_TOP src add-ons screen_savers glife ;
+SubDirSysHdrs $(HAIKU_MESA_HEADERS) ;
+
+SetSubDirSupportedPlatformsBeOSCompatible ;
+
+# For GCC2
+if $(HAIKU_GCC_VERSION[1]) < 3 {
+    SubDirC++Flags --no-warnings ;
+}
+
+UsePrivateHeaders screen_saver ;
+       # For BuildScreenSaverDefaultSettingsView
+
+local sources =
+       GLifeSaver.cpp
+       GLifeView.cpp
+       GLifeGrid.cpp
+       GLifeConfig.cpp
+;
+
+Includes [ FGristFiles $(sources) ] : $(HAIKU_MESA_HEADERS_DEPENDENCY) ;
+    # Dependency needed to trigger downloading/unzipping the package before
+    # compiling the files.
+
+AddResources GLife : GLife.rdef ;
+
+ScreenSaver GLife :
+       $(sources) : 
+       be screensaver GL $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++)
+;
+
+DoCatalogs GLife :
+       x-vnd.Haiku-GLifeScreensaver
+       :
+       $(sources)
+;

############################################################################

Commit:      51f9263bf29c411f0d14515b540fb610eb14150a
URL:         http://cgit.haiku-os.org/haiku/commit/?id=51f9263
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sat Apr  7 00:28:42 2012 UTC

glife: Pass const char* for name vs char*

* Upgrades to Mesa vs Be BGLView

----------------------------------------------------------------------------

diff --git a/src/add-ons/screen_savers/glife/GLifeView.cpp 
b/src/add-ons/screen_savers/glife/GLifeView.cpp
index f23a6f2..c782ad6 100644
--- a/src/add-ons/screen_savers/glife/GLifeView.cpp
+++ b/src/add-ons/screen_savers/glife/GLifeView.cpp
@@ -19,7 +19,7 @@
 
 // ------------------------------------------------------
 //  GLifeView Class Constructor Definition
-GLifeView::GLifeView(BRect rect, char* name, ulong resizingMode,
+GLifeView::GLifeView(BRect rect, const char* name, ulong resizingMode,
        ulong options, GLifeState* pglsState)
        :
        BGLView(rect, name, resizingMode, 0, options),
diff --git a/src/add-ons/screen_savers/glife/GLifeView.hpp 
b/src/add-ons/screen_savers/glife/GLifeView.hpp
index c5f858e..1c519cf 100644
--- a/src/add-ons/screen_savers/glife/GLifeView.hpp
+++ b/src/add-ons/screen_savers/glife/GLifeView.hpp
@@ -17,7 +17,7 @@
 class GLifeView : public BGLView {
 public:
        // Constructor & Destructor
-                                               GLifeView( BRect, char*, ulong, 
ulong, GLifeState* );
+                                               GLifeView( BRect, const char*, 
ulong, ulong, GLifeState* );
                                                ~GLifeView( void );
                                
        // Public Methods

############################################################################

Commit:      9339eb2063dbdff021f3f998c8d2e852840a1602
URL:         http://cgit.haiku-os.org/haiku/commit/?id=9339eb2
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sat Apr  7 00:31:58 2012 UTC

glife: Enable in Jamfiles / build system

----------------------------------------------------------------------------

diff --git a/src/add-ons/screen_savers/Jamfile 
b/src/add-ons/screen_savers/Jamfile
index edb42c6..8246ed0 100644
--- a/src/add-ons/screen_savers/Jamfile
+++ b/src/add-ons/screen_savers/Jamfile
@@ -3,7 +3,7 @@ SubDir HAIKU_TOP src add-ons screen_savers ;
 SubInclude HAIKU_TOP src add-ons screen_savers butterfly ;
 SubInclude HAIKU_TOP src add-ons screen_savers debugnow ;
 SubInclude HAIKU_TOP src add-ons screen_savers flurry ;
-#SubInclude HAIKU_TOP src add-ons screen_savers glife ;
+SubInclude HAIKU_TOP src add-ons screen_savers glife ;
 SubInclude HAIKU_TOP src add-ons screen_savers haiku ;
 SubInclude HAIKU_TOP src add-ons screen_savers icons ;
 SubInclude HAIKU_TOP src add-ons screen_savers ifs ;
diff --git a/src/add-ons/screen_savers/glife/Jamfile 
b/src/add-ons/screen_savers/glife/Jamfile
index 9ddc2e1..0b9d9b0 100644
--- a/src/add-ons/screen_savers/glife/Jamfile
+++ b/src/add-ons/screen_savers/glife/Jamfile
@@ -4,9 +4,9 @@ SubDirSysHdrs $(HAIKU_MESA_HEADERS) ;
 SetSubDirSupportedPlatformsBeOSCompatible ;
 
 # For GCC2
-if $(HAIKU_GCC_VERSION[1]) < 3 {
+#if $(HAIKU_GCC_VERSION[1]) < 3 {
     SubDirC++Flags --no-warnings ;
-}
+#}
 
 UsePrivateHeaders screen_saver ;
        # For BuildScreenSaverDefaultSettingsView

############################################################################

Commit:      3c94b5cb05058d92687da398daedfe91634e1b34
URL:         http://cgit.haiku-os.org/haiku/commit/?id=3c94b5c
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sat Apr  7 00:43:48 2012 UTC

glife: Rename *.hpp to *.h

----------------------------------------------------------------------------

diff --git a/src/add-ons/screen_savers/glife/GLifeConfig.cpp 
b/src/add-ons/screen_savers/glife/GLifeConfig.cpp
index 1498015..5b5738a 100644
--- a/src/add-ons/screen_savers/glife/GLifeConfig.cpp
+++ b/src/add-ons/screen_savers/glife/GLifeConfig.cpp
@@ -12,8 +12,8 @@
 #include <StringView.h>
 #include <View.h>
 
-#include "GLifeState.hpp"
-#include "GLifeConfig.hpp"
+#include "GLifeState.h"
+#include "GLifeConfig.h"
 
 
 // ------------------------------------------------------
diff --git a/src/add-ons/screen_savers/glife/GLifeConfig.hpp 
b/src/add-ons/screen_savers/glife/GLifeConfig.h
similarity index 78%
rename from src/add-ons/screen_savers/glife/GLifeConfig.hpp
rename to src/add-ons/screen_savers/glife/GLifeConfig.h
index baff361..907d5d9 100644
--- a/src/add-ons/screen_savers/glife/GLifeConfig.hpp
+++ b/src/add-ons/screen_savers/glife/GLifeConfig.h
@@ -5,14 +5,14 @@
  * Authors:
  *             Aaron Hill <serac@xxxxxxxxxxxxxxx>
  */
-#ifndef _GLIFE_GLIFECONFIG_HPP
-#define _GLIFE_GLIFECONFIG_HPP
+#ifndef _GLIFE_GLIFECONFIG_H
+#define _GLIFE_GLIFECONFIG_H
 
 
 #include <Slider.h>
 #include <View.h>
 
-#include "GLifeState.hpp"
+#include "GLifeState.h"
 
 
 // Message IDs
@@ -42,4 +42,4 @@ public:
        void            MessageReceived( BMessage* );
 };
 
-#endif /* _GLIFE_GLIFECONFIG_HPP */
+#endif /* _GLIFE_GLIFECONFIG_H */
diff --git a/src/add-ons/screen_savers/glife/GLifeGrid.cpp 
b/src/add-ons/screen_savers/glife/GLifeGrid.cpp
index 44dd5fc..e2c5a25 100644
--- a/src/add-ons/screen_savers/glife/GLifeGrid.cpp
+++ b/src/add-ons/screen_savers/glife/GLifeGrid.cpp
@@ -11,7 +11,7 @@
 #include <stdlib.h>
 #include <SupportDefs.h>
 
-#include "GLifeGrid.hpp"
+#include "GLifeGrid.h"
 
 
 // ------------------------------------------------------
@@ -83,4 +83,4 @@ bool GLifeGrid::Occupied( int32 iRow, int32 iColumn )
        while( iNewRow < 0 ) iNewRow += m_iHeight;
        while( iNewColumn < 0 ) iNewColumn += m_iWidth;
        return m_pbGrid[ ( iNewRow * m_iWidth ) + iNewColumn ];
-}
\ No newline at end of file
+}
diff --git a/src/add-ons/screen_savers/glife/GLifeGrid.hpp 
b/src/add-ons/screen_savers/glife/GLifeGrid.h
similarity index 84%
rename from src/add-ons/screen_savers/glife/GLifeGrid.hpp
rename to src/add-ons/screen_savers/glife/GLifeGrid.h
index 3d0441d..ab199ae 100644
--- a/src/add-ons/screen_savers/glife/GLifeGrid.hpp
+++ b/src/add-ons/screen_savers/glife/GLifeGrid.h
@@ -5,8 +5,8 @@
  * Authors:
  *             Aaron Hill <serac@xxxxxxxxxxxxxxx>
  */
-#ifndef _GLIFE_GLIFEGRID_HPP
-#define _GLIFE_GLIFEGRID_HPP
+#ifndef _GLIFE_GLIFEGRID_H
+#define _GLIFE_GLIFEGRID_H
 
 
 // GLifeGrid Class Declaration
@@ -29,4 +29,4 @@ public:
        bool            Occupied( int32, int32 );
 };
 
-#endif /* _GLIFE_GLIFEGRID_HPP */
\ No newline at end of file
+#endif /* _GLIFE_GLIFEGRID_H */
diff --git a/src/add-ons/screen_savers/glife/GLifeSaver.cpp 
b/src/add-ons/screen_savers/glife/GLifeSaver.cpp
index 10eb0d1..a954835 100644
--- a/src/add-ons/screen_savers/glife/GLifeSaver.cpp
+++ b/src/add-ons/screen_savers/glife/GLifeSaver.cpp
@@ -13,11 +13,11 @@
 #include <ScreenSaver.h>
 #include <View.h>
 
-#include "GLifeGrid.hpp"
-#include "GLifeState.hpp"
-#include "GLifeConfig.hpp"
-#include "GLifeView.hpp"
-#include "GLifeSaver.hpp"
+#include "GLifeGrid.h"
+#include "GLifeState.h"
+#include "GLifeConfig.h"
+#include "GLifeView.h"
+#include "GLifeSaver.h"
 
 // ------------------------------------------------------
 //  GLifeSaver Class Constructor Definition
diff --git a/src/add-ons/screen_savers/glife/GLifeSaver.hpp 
b/src/add-ons/screen_savers/glife/GLifeSaver.h
similarity index 84%
rename from src/add-ons/screen_savers/glife/GLifeSaver.hpp
rename to src/add-ons/screen_savers/glife/GLifeSaver.h
index 36c8354..aa54773 100644
--- a/src/add-ons/screen_savers/glife/GLifeSaver.hpp
+++ b/src/add-ons/screen_savers/glife/GLifeSaver.h
@@ -5,8 +5,8 @@
  * Authors:
  *             Aaron Hill <serac@xxxxxxxxxxxxxxx>
  */
-#ifndef _GLIFE_GLIFESAVER_HPP
-#define _GLIFE_GLIFESAVER_HPP
+#ifndef _GLIFE_GLIFESAVER_H
+#define _GLIFE_GLIFESAVER_H
 
 
 // Required Includes
@@ -45,4 +45,4 @@ public:
 };
 
 
-#endif /* _GLIFE_GLIFESAVER_HPP */
+#endif /* _GLIFE_GLIFESAVER_H */
diff --git a/src/add-ons/screen_savers/glife/GLifeState.hpp 
b/src/add-ons/screen_savers/glife/GLifeState.h
similarity index 90%
rename from src/add-ons/screen_savers/glife/GLifeState.hpp
rename to src/add-ons/screen_savers/glife/GLifeState.h
index fc64f55..9d459d2 100644
--- a/src/add-ons/screen_savers/glife/GLifeState.hpp
+++ b/src/add-ons/screen_savers/glife/GLifeState.h
@@ -5,8 +5,8 @@
  * Authors:
  *             Aaron Hill <serac@xxxxxxxxxxxxxxx>
  */
-#ifndef _GLIFE_GLIFESTATE_HPP
-#define _GLIFE_GLIFESTATE_HPP
+#ifndef _GLIFE_GLIFESTATE_H
+#define _GLIFE_GLIFESTATE_H
 
 
 // Constants
@@ -60,4 +60,4 @@ public:
 };
 
 
-#endif /* _GLIFE_GLIFESTATE_HPP */
+#endif /* _GLIFE_GLIFESTATE_H */
diff --git a/src/add-ons/screen_savers/glife/GLifeView.cpp 
b/src/add-ons/screen_savers/glife/GLifeView.cpp
index c782ad6..e91b341 100644
--- a/src/add-ons/screen_savers/glife/GLifeView.cpp
+++ b/src/add-ons/screen_savers/glife/GLifeView.cpp
@@ -12,9 +12,9 @@
 #include <GL/glu.h>
 #include <GLView.h>
 
-#include "GLifeGrid.hpp"
-#include "GLifeState.hpp"
-#include "GLifeView.hpp"
+#include "GLifeGrid.h"
+#include "GLifeState.h"
+#include "GLifeView.h"
 
 
 // ------------------------------------------------------
diff --git a/src/add-ons/screen_savers/glife/GLifeView.hpp 
b/src/add-ons/screen_savers/glife/GLifeView.h
similarity index 83%
rename from src/add-ons/screen_savers/glife/GLifeView.hpp
rename to src/add-ons/screen_savers/glife/GLifeView.h
index 1c519cf..64b516f 100644
--- a/src/add-ons/screen_savers/glife/GLifeView.hpp
+++ b/src/add-ons/screen_savers/glife/GLifeView.h
@@ -5,12 +5,12 @@
  * Authors:
  *             Aaron Hill <serac@xxxxxxxxxxxxxxx>
  */
-#ifndef _GLIFE_GLIFEVIEW_HPP
-#define _GLIFE_GLIFEVIEW_HPP
+#ifndef _GLIFE_GLIFEVIEW_H
+#define _GLIFE_GLIFEVIEW_H
 
 
 #include <GLView.h>
-#include "GLifeState.hpp"
+#include "GLifeState.h"
 
 
 // GLifeView Class Declaration
@@ -33,4 +33,4 @@ private:
                        int32           m_iStep;
 };
 
-#endif /* _GLIFE_GLIFEVIEW_HPP */
+#endif /* _GLIFE_GLIFEVIEW_H */

############################################################################

Commit:      8bc51bee4ce16e63524fc638188634d6d73f756c
URL:         http://cgit.haiku-os.org/haiku/commit/?id=8bc51be
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sat Apr  7 01:04:26 2012 UTC

glife: Initial style cleanup

----------------------------------------------------------------------------

diff --git a/src/add-ons/screen_savers/glife/GLifeConfig.cpp 
b/src/add-ons/screen_savers/glife/GLifeConfig.cpp
index 5b5738a..8b9336d 100644
--- a/src/add-ons/screen_savers/glife/GLifeConfig.cpp
+++ b/src/add-ons/screen_savers/glife/GLifeConfig.cpp
@@ -7,13 +7,14 @@
  */
 
 
+#include "GLifeConfig.h"
+
 #include <stdio.h>
 #include <Slider.h>
 #include <StringView.h>
 #include <View.h>
 
 #include "GLifeState.h"
-#include "GLifeConfig.h"
 
 
 // ------------------------------------------------------
diff --git a/src/add-ons/screen_savers/glife/GLifeConfig.h 
b/src/add-ons/screen_savers/glife/GLifeConfig.h
index 907d5d9..9c62b9e 100644
--- a/src/add-ons/screen_savers/glife/GLifeConfig.h
+++ b/src/add-ons/screen_savers/glife/GLifeConfig.h
@@ -42,4 +42,5 @@ public:
        void            MessageReceived( BMessage* );
 };
 
+
 #endif /* _GLIFE_GLIFECONFIG_H */
diff --git a/src/add-ons/screen_savers/glife/GLifeGrid.cpp 
b/src/add-ons/screen_savers/glife/GLifeGrid.cpp
index e2c5a25..9e7c77a 100644
--- a/src/add-ons/screen_savers/glife/GLifeGrid.cpp
+++ b/src/add-ons/screen_savers/glife/GLifeGrid.cpp
@@ -7,12 +7,12 @@
  */
 
 
+#include "GLifeGrid.h"
+
 #include <math.h>
 #include <stdlib.h>
 #include <SupportDefs.h>
 
-#include "GLifeGrid.h"
-
 
 // ------------------------------------------------------
 //  GLifeGrid Class Neighbors Definition
@@ -28,6 +28,7 @@ inline int32 GLifeGrid::Neighbors( int32 iRow, int32 iColumn )
                   ( Occupied( iRow + 1, iColumn + 1 ) ? 1 : 0 );
 }
 
+
 // ------------------------------------------------------
 //  GLifeGrid Class Constructor Definition
 GLifeGrid::GLifeGrid( int32 iWidth, int32 iHeight )
@@ -46,6 +47,7 @@ GLifeGrid::GLifeGrid( int32 iWidth, int32 iHeight )
        }
 }
 
+
 // ------------------------------------------------------
 //  GLifeGrid Class Destructor Definition
 GLifeGrid::~GLifeGrid( void )
@@ -53,6 +55,7 @@ GLifeGrid::~GLifeGrid( void )
        delete m_pbGrid;
 }
 
+
 // ------------------------------------------------------
 //  GLifeGrid Class Generation Definition
 void GLifeGrid::Generation( void )
@@ -75,6 +78,7 @@ void GLifeGrid::Generation( void )
        m_pbGrid = pbTemp;
 }
 
+
 // ------------------------------------------------------
 //  GLifeGrid Class Occupied Definition
 bool GLifeGrid::Occupied( int32 iRow, int32 iColumn )
diff --git a/src/add-ons/screen_savers/glife/GLifeGrid.h 
b/src/add-ons/screen_savers/glife/GLifeGrid.h
index ab199ae..7068486 100644
--- a/src/add-ons/screen_savers/glife/GLifeGrid.h
+++ b/src/add-ons/screen_savers/glife/GLifeGrid.h
@@ -9,6 +9,9 @@
 #define _GLIFE_GLIFEGRID_H
 
 
+#include <OS.h>
+
+
 // GLifeGrid Class Declaration
 class GLifeGrid
 {
@@ -29,4 +32,5 @@ public:
        bool            Occupied( int32, int32 );
 };
 
+
 #endif /* _GLIFE_GLIFEGRID_H */
diff --git a/src/add-ons/screen_savers/glife/GLifeSaver.cpp 
b/src/add-ons/screen_savers/glife/GLifeSaver.cpp
index a954835..9574893 100644
--- a/src/add-ons/screen_savers/glife/GLifeSaver.cpp
+++ b/src/add-ons/screen_savers/glife/GLifeSaver.cpp
@@ -4,6 +4,7 @@
  *
  * Authors:
  *             Aaron Hill <serac@xxxxxxxxxxxxxxx>
+ *             Alexander von Gluck <kallisti5@xxxxxxxxxxx>
  */
  
 
diff --git a/src/add-ons/screen_savers/glife/GLifeState.h 
b/src/add-ons/screen_savers/glife/GLifeState.h
index 9d459d2..8e3e0db 100644
--- a/src/add-ons/screen_savers/glife/GLifeState.h
+++ b/src/add-ons/screen_savers/glife/GLifeState.h
@@ -14,6 +14,7 @@ const int32 c_iDefGridWidth = 60;
 const int32 c_iDefGridHeight = 40;
 const int32 c_iDefBorder = 0;
 
+
 // GLifeState Class Declaration & Definition
 class GLifeState
 {
diff --git a/src/add-ons/screen_savers/glife/GLifeView.cpp 
b/src/add-ons/screen_savers/glife/GLifeView.cpp
index e91b341..b450094 100644
--- a/src/add-ons/screen_savers/glife/GLifeView.cpp
+++ b/src/add-ons/screen_savers/glife/GLifeView.cpp
@@ -50,6 +50,7 @@ GLifeView::GLifeView(BRect rect, const char* name, ulong 
resizingMode,
        UnlockGL();
 }
 
+
 // ------------------------------------------------------
 //  GLifeView Class Destructor Definition
 GLifeView::~GLifeView( void )
@@ -57,6 +58,7 @@ GLifeView::~GLifeView( void )
        delete m_pglgGrid;
 }
 
+
 // ------------------------------------------------------
 //  GLifeView Class AttachedToWindow Definition
 void GLifeView::AttachedToWindow( void )
@@ -66,6 +68,7 @@ void GLifeView::AttachedToWindow( void )
        UnlockGL();
 }
 
+
 // ------------------------------------------------------
 //  GLifeView Class Draw Definition
 void GLifeView::Draw(BRect updateRect)
@@ -164,6 +167,7 @@ void GLifeView::Draw(BRect updateRect)
        glPopMatrix();
 }
 
+
 // ------------------------------------------------------
 //  GLifeView Class Advance Definition
 void GLifeView::Advance( void )
diff --git a/src/add-ons/screen_savers/glife/GLifeView.h 
b/src/add-ons/screen_savers/glife/GLifeView.h
index 64b516f..3458e6d 100644
--- a/src/add-ons/screen_savers/glife/GLifeView.h
+++ b/src/add-ons/screen_savers/glife/GLifeView.h
@@ -33,4 +33,5 @@ private:
                        int32           m_iStep;
 };
 
+
 #endif /* _GLIFE_GLIFEVIEW_H */

############################################################################

Revision:    hrev43966
Commit:      7d0f6bd08c6a85222ceb55f49abb1ba805a91e05
URL:         http://cgit.haiku-os.org/haiku/commit/?id=7d0f6bd
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Sat Apr  7 01:11:27 2012 UTC

Merge branch 'glife'

----------------------------------------------------------------------------


Other related posts:

  • » [haiku-commits] haiku: hrev43966 - src/add-ons/screen_savers/glife - kallisti5