def __init__(self): display_mode = gdkgl.MODE_RGB | gdkgl.MODE_DOUBLE try: self.glconfig = gdkgl.Config(mode=display_mode) except gdkgl.NoMatches: display_mode &= ~gdkgl.MODE_DOUBLE self.glconfig = gdkgl.Config(mode=display_mode) win = gtk.Window() win.set_title('OpenGL Color Gradient') win.connect('destroy', gtk.main_quit) self.win = win vbox = gtk.VBox() self.win.add(vbox) self.bpc = 16 self.label = gtk.Label(" ") self.label.modify_font(pango.FontDescription("sans 24")) self.populate_label() vbox.add(self.label) glarea = gtkgl.DrawingArea(glconfig=self.glconfig, render_type=gdkgl.RGBA_TYPE) glarea.set_size_request(*SIZE) glarea.connect_after('realize', self.on_realize) glarea.connect('configure_event', self.on_configure_event) glarea.connect('expose_event', self.on_expose_event) win.connect("key_press_event", self.on_key_press) self.glarea = glarea vbox.add(glarea) win.show_all() add_close_accel(win, gtk.main_quit)
def gtk_find_config_default(attr, mode_bit): try: cfg = gdkgl.Config(mode=mode_bit) value = cfg.get_attrib(attr)[0] except gdkgl.NoMatches: value = 0 print "default for attr", attr, "=", value return value
def __init__(self, m): conf = gdkgl.Config(( gdkgl.RGBA, gdkgl.DOUBLEBUFFER, gdkgl.DEPTH_SIZE, 1, )) gtkgl.widget.DrawingArea.__init__(self, glconfig=conf) self.m = m self.m.add_dependent(self.model_changed) self.set_size_request(500, 550) self.basex = 0.0 self.connect('expose_event', self.expose_cb)
def __init__(self, w=640, h=480): try: glconfig = gdkgl.Config(mode=(gdkgl.MODE_RGB | gdkgl.MODE_DOUBLE | gdkgl.MODE_DEPTH)) except gtk.gdkgl.NoMatches: glconfig = gdkgl.Config(mode=(gdkgl.MODE_RGB | gdkgl.MODE_DEPTH)) gtkgl.DrawingArea.__init__(self, glconfig) self.set_size_request(w, h) self.connect_after("realize", self._init) self.connect("configure_event", self._reshape) self.connect("expose_event", self._draw) self.connect("button_press_event", self._mouseButton) self.connect("button_release_event", self._mouseButton) self.connect("motion_notify_event", self._mouseMotion) self.connect("scroll_event", self._mouseScroll) self.set_events(self.get_events() | gdk.BUTTON_PRESS_MASK | gdk.BUTTON_RELEASE_MASK | gdk.POINTER_MOTION_MASK | gdk.POINTER_MOTION_HINT_MASK) self._zNear, self._zFar = -10.0, 10.0 self._zprReferencePoint = [0., 0., 0., 0.] self._mouseX = self._mouseY = 0 self._dragPosX = self._dragPosY = self._dragPosZ = 0. self._mouseRotate = self._mouseZoom = self._mousePan = False
def Config_new_by_mode(display_mode): try: return gdkgl.Config(mode=display_mode) except gdkgl.NoMatches as e: log("no match: %s", e) return None
def _gdkgl_config(self, attrs): try: return gdkgl.Config(attrib_list=attrs) except gdkgl.NoMatches: return None