
    %
i+                     ^   d dl Z 	 d dlmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZmZmZmZm Z m!Z! d dl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- n1# e.$ r)  e/d            e/d            e j0        d           Y nw xY wd dl1Z1d dl2Z2d dl3Z3d dl4Z4d dl5m6Z6 d Z7dZ8d Z9dZ:d	Z;dZ<d
Z=dZ>dZ?dZ@dZAdZBdZCdZDdZEdZFdZGdZHdZIdZJdZKg dZLg dZMd dgZNd ZOe6jP        ZQ G d deQ          ZR G d d eR          ZS G d! d"eR          ZTd# ZUeVd$k    r eU             dS dS )%    N)GL_COLOR_BUFFER_BITGL_DEPTH_BUFFER_BITGL_DEPTH_TESTGL_MODELVIEWGL_PROJECTIONGL_QUAD_STRIPGL_QUADSGL_TRIANGLE_FANglBeginglClearglClearColorglClearDepth	glColor3fglEnableglEndglFinishglLoadIdentityglMatrixModeglPopMatrixglPushMatrix	glRotatefglTranslatef
glVertex3f
glViewport)GLU_FILL
GLU_SMOOTHgluCylindergluNewQuadricgluPerspectivegluQuadricDrawStylegluQuadricNormals)PIXELFORMATDESCRIPTORChoosePixelFormatDescribePixelFormatGetPixelFormatSetPixelFormatSwapBufferswglCreateContextwglDeleteContextwglGetCurrentContextwglGetCurrentDCwglMakeCurrentz4The OpenGL extensions do not appear to be installed.zThis Pythonwin demo can not run   )docview                @         i   i   i   i   i    i   @l        )r   $   I   m               )r   U      r>   r>   c                     | |z	  dz  }|dk    r|dz  }t           |         S |dk    r|dz  }t          |         S |dk    r|dz  }t          |         S dS )N   r-   r0         r   )oneto8twoto8threeto8)inbitsshiftvals       C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\pythonwin/pywin/Demos/openGLDemo.pyComponentFromIndexrM   ^   si    :
Czzs
c{	!s
c{	!s
}q    c                   h    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd ZdS )
OpenGLViewc           
      B   |                      | j        t          j                   |d         }|t          j        t          j        z  z  }|d         |d         |d         |d         |d         ||d         |d         |d	         f	}| j                            |          }|S )
N   r   r-   r0   rC   r1      rD   r2   )HookMessageOnSizewin32conWM_SIZEWS_CLIPSIBLINGSWS_CLIPCHILDREN_obj_PreCreateWindow)selfccstyles      rL   r[   zOpenGLView.PreCreateWindowr   s    h&6777 1)H,DDDUBqE2a5"Q%Ar!ubeRUJZ''++	rN   c                 d   |d         }t          j        |          }t          j        |          }t          dd||           | j        d         |k    s| j        d         |k    r|                                  |                     ||           | j        d         | j        d         ||f| _        d S )NrC   r   r0   r-   )win32apiLOWORDHIWORDr   oldrectRedrawWindowOnSizeChange)r\   paramslParamcxcys        rL   rU   zOpenGLView.OnSize}   s    _V$$_V$$1aR   <?R4<?R#7#7"b!!!|AQR?rN   c                 ^    |                      d           | j                                        S )N)d   rk   )SetScaleToFitSizerZ   OnInitialUpdater\   s    rL   rm   zOpenGLView.OnInitialUpdate   s3    	
 	
 	
 z))+++rN   c                     |                                  | _        |                                  |                                  d S N)GetClientRectrc   _InitContextsInit)r\   css     rL   OnCreatezOpenGLView.OnCreate   s8    ))++		rN   c                     |                                   |                                  t                              | |          S rp   )Term_DestroyContextsOpenGLViewParent	OnDestroy)r\   msgs     rL   rz   zOpenGLView.OnDestroy   s7    		))$444rN   c                 .    |                                   d S rp   	DrawScener\   dcs     rL   OnDrawzOpenGLView.OnDraw       rN   c                     dS )Nr-    r   s     rL   OnEraseBkgndzOpenGLView.OnEraseBkgnd   s    qrN   c                 D   | j                                         }t                      }t          t          z  t
          z  |_        t          |_        d|_	        d|_
        t          |_        t          ||          }t          |||           |                     |           d S )N   r4   )r   
GetSafeHdcr"   PFD_DRAW_TO_WINDOWPFD_SUPPORT_OPENGLPFD_DOUBLEBUFFERdwFlagsPFD_TYPE_RGBA
iPixelType
cColorBits
cDepthBitsPFD_MAIN_PLANE
iLayerTyper#   r&   _CreateRGBPalette)r\   r   pfdpixelformats       rL   _SetupPixelFormatzOpenGLView._SetupPixelFormat   s    W!!#%%(+==@PP&''C00r;,,,s#####rN   c                 >   | j                                         }t          |          }t          |||j        |           |j        t          z  rd|j        z  }g }t          |          D ]h}t          ||j
        |j                  t          ||j        |j                  t          ||j        |j                  df}|                    |           it#          j        |          }| j                             |d           | j                                          d S d S )Nr-   r   )r   r   r%   r$   nSizer   PFD_NEED_PALETTEr   rangerM   cRedBits	cRedShift
cGreenBitscGreenShift	cBlueBits
cBlueShiftappendwin32uiCreatePaletteSelectPaletteRealizePalette)r\   r   hdciPixelFormatpalrH   thishpals           rL   r   zOpenGLView._CreateRGBPalette   s   g  ""%c**Csy#>>>;)) 	%.LC<(( ! !&q#,FF&q#.#/JJ&q#-HH	 

4    (--DG!!$***G""$$$$$	% 	%rN   c                     |                                  | _        |                                  t          | j                                                  }t          | j                                        |           d S rp   )GetDCr   r   r(   r   r,   r\   hrcs     rL   rr   zOpenGLView._InitContexts   sb    **,,   tw113344tw))++S11111rN   c                 h    t                      }t          dd           |rt          |           d S d S )Nr   )r*   r,   r)   r   s     rL   rx   zOpenGLView._DestroyContexts   sC    "$$q! 	"S!!!!!	" 	"rN   c                      t          d          NzYou must override this methodNotImplementedErrorrn   s    rL   r~   zOpenGLView.DrawScene       !"ABBBrN   c                      t          d          r   r   rn   s    rL   rs   zOpenGLView.Init   r   rN   c                     d S rp   r   )r\   rh   ri   s      rL   re   zOpenGLView.OnSizeChange       rN   c                     d S rp   r   rn   s    rL   rw   zOpenGLView.Term   r   rN   N)__name__
__module____qualname__r[   rU   rm   ru   rz   r   r   r   r   rr   rx   r~   rs   re   rw   r   rN   rL   rP   rP   q   s        	 	 	@ @ @, , ,  
5 5 5
    
$ 
$ 
$% % %&2 2 2" " "C C CC C C      rN   rP   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )TestViewc                 :   t          dddd           t          d           t          t                     t	          t
                     |r||z  }nd}t                       t          d|dd           t	          t                     d}d}d}||dz  z   | _	        d S N              ?r   g     F@g      @g      @g       @
r   r   r   r   r   r   r   r   r   radiusr\   rightbottomaspect
near_plane	far_planemaxObjectSizes          rL   re   zTestView.OnSizeChange       S#sC(((S]### 	V^FFFtVS#...\"""
	 =3#66rN   c                     d S rp   r   rn   s    rL   rs   zTestView.Init   r   rN   c                 j   t          dddd           t          t          t          z             t	                       t          dd| j                    |                                  |                                  t                       t                       t          t                                 d S )Nr   r   )r   r   r   r   r   r   r   	_DrawCone_DrawPyramidr   r   r'   r+   rn   s    rL   r~   zTestView.DrawScene   s    S#sC(((#&99:::S#|,,,


O%%&&&&&rN   c                    t          ddd           t                       t          ddd           t                      }t	          |t
                     t          |t                     t          |ddddd           t                       d S )Nr   r            
   )
r   r   r   r   r    r   r!   r   r   r   )r\   quadObjs     rL   r   zTestView._DrawCone  s}    #sC   T3$$$//GX...':...GS#sB333rN   c                    t                       t          ddd           t          t                     t	          ddd           t          ddd           t	          ddd           t          ddd           t	          ddd           t          ddd           t	          ddd           t          ddd           t                       t                       d S )Nr   r   r   )r   r   r   r
   r   r   r   r   rn   s    rL   r   zTestView._DrawPyramid  s    S#s###   #sC   3S!!!#sC   4c"""#sC   3S!!!#sC   3S!!!rN   N)r   r   r   re   rs   r~   r   r   r   rN   rL   r   r      s_        7 7 7&  ' ' ' 
 
 
    rN   r   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )CubeViewc                 :   t          dddd           t          d           t          t                     t	          t
                     |r||z  }nd}t                       t          d|dd           t	          t                     d}d}d}||dz  z   | _	        d S r   r   r   s          rL   re   zCubeView.OnSizeChange   r   rN   c                 |    d| _         d| _        d| _        d| _        t	          j        d| j                  | _        d S )Nr         $@r         @   )busywAngleYwAngleXwAngleZtimer	set_timerOnTimertimeridrn   s    rL   rs   zCubeView.Init3  s7    	sDL99rN   c                 .    |                                   d S rp   r}   )r\   idtimeVals      rL   r   zCubeView.OnTimer:  r   rN   c                 8    t          j        | j                   d S rp   )r   
kill_timerr   rn   s    rL   rw   zCubeView.Term=  s    &&&&&rN   c                    | j         rd S d| _         t          dddd           t          t          t          z             t                       t          dd| j                    t          | j	        ddd           t          | j
        ddd           t          | j        ddd           | xj	        dz  c_	        | xj
        dz  c_
        | xj        dz  c_        t          t                     t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t!                       t          t"                     t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t!                       t          t"                     t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t          ddd           t!                       t%                       t'                       t)          t+                                 d| _         d S )	Nr-   r   r   r   r   g      g      ?r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r'   r+   rn   s    rL   r~   zCubeView.DrawScene@  s   9 	F	S#sC(((#&99:::S#|,,,$,S#...$,S#...$,S#...#sC   4c"""#sC   4s####sC   3S!!!#sC   3c"""#sC   3T"""#sC   3d####sC   4d####sC   4t$$$#sC   4c"""#sC   4s####sC   4c"""#sC   3S!!!#sC   3T"""#sC   4d####sC   4s####sC   3c"""#sC   3d####sC   4t$$$


O%%&&&			rN   N)r   r   r   re   rs   r   rw   r~   r   rN   rL   r   r     sd        7 7 7&: : :  ' ' 'U U U U UrN   r   c                  h    t          j        d d d t                    } |                     d            d S rp   )r.   DocTemplater   OpenDocumentFile)templates    rL   testr     s2    "4tX>>Hd#####rN   __main__)Wsys	OpenGL.GLr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   
OpenGL.GLUr   r   r   r   r   r    r!   
OpenGL.WGLr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   ImportErrorprintexitr   r`   rV   r   	pywin.mfcr.   r   PFD_TYPE_COLORINDEXr   PFD_OVERLAY_PLANEPFD_UNDERLAY_PLANEr   
PFD_STEREOr   PFD_DRAW_TO_BITMAPPFD_SUPPORT_GDIr   PFD_GENERIC_FORMATr   PFD_NEED_SYSTEM_PALETTEPFD_SWAP_EXCHANGEPFD_SWAP_COPYPFD_SWAP_LAYER_BUFFERSPFD_GENERIC_ACCELERATEDPFD_DEPTH_DONTCAREPFD_DOUBLEBUFFER_DONTCAREPFD_STEREO_DONTCARErG   rF   rE   rM   
ScrollViewry   rP   r   r   r   r   r   rN   rL   <module>r	     s   


4                                                   4                                               	E
@AAA	E
+,,,CHQKKKKK
              
     $  # $  &    ONN			
S    % h h h h h! h h hV@ @ @ @ @z @ @ @Fv v v v vz v v vr$ $ $ zDFFFFF s   A A' '+BB