# PySoy's widgets declarations # # Copyright (C) 2006,2007,2008 PySoy Group # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published # by the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program; if not, see http://www.gnu.org/licenses # # $Id$ cimport gl cimport stdio cimport soy._core cimport soy._datatypes cimport soy._internals cimport soy.bodies cimport soy.colors cimport soy.textures # # Forward declarations # cdef class Widget cdef class Container(Widget) cdef class Widget : cdef soy._core.Window _window cdef Container _parent cdef int _alignWidth cdef int _alignHeight cdef float _aspect cdef int _marginTop cdef int _marginRight cdef int _marginBottom cdef int _marginLeft cdef soy._internals.AsyncQueue _queue cdef int _width cdef int _height cdef int _xpos cdef int _ypos cdef object _resizeCallback # Helper Functions cdef int _setMargin(self, object) # _coreLoop Functions cdef void _render(self) cdef void _resize(self, int, int, int, int) cdef class Canvas (Widget) : cdef soy.textures.Texture _texture cdef soy._datatypes.Vert _verts[4] cdef soy._datatypes.Face _faces[2] cdef class Container (Widget) : cdef soy._internals.Children _widgets cdef class Projector (Widget) : cdef soy.bodies.Camera _camera cdef int _connected