ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

renderhints.cc
Go to the documentation of this file.
00001 /*
00002 ** License Applicability. Except to the extent portions of this file are
00003 ** made subject to an alternative license as permitted in the SGI Free
00004 ** Software License B, Version 1.1 (the "License"), the contents of this
00005 ** file are subject only to the provisions of the License. You may not use
00006 ** this file except in compliance with the License. You may obtain a copy
00007 ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
00008 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
00009 **
00010 ** http://oss.sgi.com/projects/FreeB
00011 **
00012 ** Note that, as provided in the License, the Software is distributed on an
00013 ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
00014 ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
00015 ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
00016 ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
00017 **
00018 ** Original Code. The Original Code is: OpenGL Sample Implementation,
00019 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
00020 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
00021 ** Copyright in any portions created by third parties is as indicated
00022 ** elsewhere herein. All Rights Reserved.
00023 **
00024 ** Additional Notice Provisions: The application programming interfaces
00025 ** established by SGI in conjunction with the Original Code are The
00026 ** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
00027 ** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
00028 ** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
00029 ** Window System(R) (Version 1.3), released October 19, 1998. This software
00030 ** was created using the OpenGL(R) version 1.2.1 Sample Implementation
00031 ** published by SGI, but has not been independently verified as being
00032 ** compliant with the OpenGL(R) version 1.2.1 Specification.
00033 */
00034 
00035 /*
00036  * renderhints.c++
00037  *
00038  * $Date: 2006-03-12 00:07:02 +0000 (Sun, 12 Mar 2006) $ $Revision: 1.1 $
00039  * $Header: /cygdrive/c/RCVS/CVS/ReactOS/reactos/lib/glu32/libnurbs/internals/renderhints.cc,v 1.1 2004/02/02 16:39:12 navaraf Exp $
00040  */
00041 
00042 #include "glimports.h"
00043 #include "mystdio.h"
00044 #include "renderhints.h"
00045 #include "defines.h"
00046 #include "nurbsconsts.h"
00047 
00048 
00049 /*--------------------------------------------------------------------------
00050  * Renderhints::Renderhints - set all window specific options
00051  *--------------------------------------------------------------------------
00052  */
00053 Renderhints::Renderhints()
00054 {
00055     display_method  = N_FILL;
00056     errorchecking   = N_MSG;
00057     subdivisions    = 6.0;
00058     tmp1        = 0.0;
00059 }
00060 
00061 void
00062 Renderhints::init( void )
00063 {
00064     maxsubdivisions = (int) subdivisions;
00065     if( maxsubdivisions < 0 ) maxsubdivisions = 0;
00066 
00067 
00068     if( display_method == N_FILL ) {
00069     wiretris = 0;
00070     wirequads = 0;
00071     } else if( display_method == N_OUTLINE_TRI ) {
00072     wiretris = 1;
00073     wirequads = 0;
00074     } else if( display_method == N_OUTLINE_QUAD ) {
00075     wiretris = 0;
00076     wirequads = 1;
00077     } else {
00078     wiretris = 1;
00079     wirequads = 1;
00080     }
00081 }
00082 
00083 int
00084 Renderhints::isProperty( long property )
00085 {
00086     switch ( property ) {
00087     case N_DISPLAY:
00088     case N_ERRORCHECKING:
00089     case N_SUBDIVISIONS:
00090         case N_TMP1:
00091         return 1;
00092     default:
00093         return 0;
00094     }
00095 }
00096 
00097 REAL 
00098 Renderhints::getProperty( long property )
00099 {
00100     switch ( property ) {
00101     case N_DISPLAY:
00102         return display_method;
00103     case N_ERRORCHECKING:
00104         return errorchecking;
00105     case N_SUBDIVISIONS:
00106         return subdivisions;
00107         case N_TMP1:
00108         return tmp1;
00109     default:
00110         abort();
00111         return -1;  //not necessary, needed to shut up compiler
00112     }
00113 }
00114 
00115 void 
00116 Renderhints::setProperty( long property, REAL value )
00117 {
00118     switch ( property ) {
00119     case N_DISPLAY:
00120         display_method = value;
00121         break;
00122     case N_ERRORCHECKING:
00123         errorchecking = value;
00124         break;
00125     case N_SUBDIVISIONS:
00126         subdivisions = value;
00127         break;
00128     case N_TMP1: /* unused */
00129         tmp1 = value;
00130         break;
00131     default:
00132         abort();
00133         break;
00134     }
00135 }

Generated on Sat May 26 2012 04:22:17 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.