def OnPaint(self, event): """Redraw the graph.""" dc = wx.PaintDC(self) #print dc ctx = wxcairo.ContextFromDC(dc) #ctx = pangocairo.CairoContext(ctx) #print "DRAW" # Get widget size width, height = self.GetSize() #width,height = self.dc.GetSizeTuple() ctx.rectangle(0, 0, width, height) ctx.clip() ctx.set_source_rgba(1.0, 1.0, 1.0, 1.0) ctx.paint() ctx.save() ctx.translate(0.5 * width, 0.5 * height) ctx.scale(self.zoom_ratio, self.zoom_ratio) ctx.translate(-self.x, -self.y) self.graph.draw(ctx, highlight_items=self.highlight) ctx.restore() self.drag_action.draw(ctx)
def UpdateSelection(self): dc = wx.MemoryDC() dc.SelectObject(self._buffer) dc.DrawBitmap(self._content_buffer, 0, 0) _, height = self.ClientSize ctx = wxcairo.ContextFromDC(dc) self._draw_selection(ctx, height)
def UpdateSelection(self): dc = wx.MemoryDC() dc.SelectObject(self._buffer) dc.DrawBitmap(self._content_buffer, 0, 0) _, height = self.ClientSize ctx = wxcairo.ContextFromDC(dc) self._draw_selection(ctx, height) del ctx # be sure to delete the context first before deleting MemoryDC del dc # need to get rid of the MemoryDC before Update() is called.
def OnPaint(self, event): dc = wx.PaintDC(self.panel) cr = wxcairo.ContextFromDC(dc) cr.set_source_rgb(1, 1, 1) # White background if self.scale != 1: cr.scale(self.scale, self.scale) cr.rectangle(0, 0, self.width, self.height) cr.fill() self.current_page.render(cr)
def OnPaint(self, event): """Redraw the graph.""" dc = wx.PaintDC(self) #print dc ctx = wxcairo.ContextFromDC(dc) ctx = pangocairo.CairoContext(ctx) #print "DRAW" # Get widget size width, height = self.GetSize() #width,height = self.dc.GetSizeTuple() ctx.rectangle(0, 0, width, height) ctx.clip() ctx.set_source_rgba(1.0, 1.0, 1.0, 1.0) ctx.paint() ctx.save() ctx.translate(0.5 * width, 0.5 * height) ctx.scale(self.zoom_ratio, self.zoom_ratio) ctx.translate(-self.x, -self.y) #substatebehaviors = [self.nodes_by_name[n] for n in self.nodes_by_name.keys() if "Sb" in n] #self.graph.draw(ctx, highlight_items=substatebehaviors)#self.highlight) self.graph.draw(ctx, highlight_items=self.highlight) """ substatebehaviorskeys = [n for n in self.nodes_by_name.keys() if "Sb" in n] for sb in substatebehaviorskeys: node = self.nodes_by_name[sb] node.shapes[0].pen.color = (0.0,1.0, 0.0, 1.0) node.shapes[0].pen.fillcolor = (0.0,1.0, 0.0, 1.0) node.shapes[1].pen.color = (0.0,1.0, 0.0, 1.0) node.shapes[1].pen.fillcolor = (0.0,1.0, 0.0, 1.0) print (sb) node.draw(ctx) """ """ for stkey in self.graph.subgraph_shapes.keys(): node = self.graph.subgraph_shapes[stkey] if "cluster_0" in stkey: node[0].pen.color = (0.0,1.0, 0.0, 1.0) node[0].pen.fillcolor = (0.0,1.0, 0.0, 1.0) node[1].pen.color = (0.0,1.0, 0.0, 1.0) node[1].pen.fillcolor = (0.0,1.0, 0.0, 1.0) """ ctx.restore() self.drag_action.draw(ctx)
def UpdateContent(self): dc = wx.MemoryDC() dc.SelectObject(self._content_buffer) dc.SetBackground(wx.Brush(self.BackgroundColour, wx.SOLID)) dc.Clear() # make sure you clear the bitmap! if len(self.content_list): # using len to be compatible with numpy arrays ctx = wxcairo.ContextFromDC(dc) width, height = self.ClientSize self._draw_content(ctx, width, height) del dc # need to get rid of the MemoryDC before Update() is called. self.Refresh(eraseBackground=False) self.Update()
def set_all_substate_behaviors_green(self): dc = wx.PaintDC(self) #print dc ctx = wxcairo.ContextFromDC(dc) ctx = pangocairo.CairoContext(ctx) substatebehaviors = [n for n in self.nodes_by_name.keys() if "Sb" in n] for sb in substatebehaviors: node = self.nodes_by_name[sb] node.shapes[0].color = (1.0, 0.0, 0.0, 1.0) node.shapes[1].color = (1.0, 0.0, 0.0, 1.0) print(sb) node.draw(ctx)
def OnPaint(self, event): # panel2 = wx.Panel(self, -1, size=(600, 600)) dc = wx.PaintDC(self.panel) cr = wxcairo.ContextFromDC(dc) cr.scale(1,1) ScrRes = wx.DisplaySize() cr.translate(ScrRes[0]*0.15,0) cr.set_source_rgb(1, 1, 1) # White background if self.scale != 1: cr.scale(self.scale, self.scale) print self.width , self.height cr.rectangle(0,0, self.width, self.height) cr.fill() self.current_page.render(cr)
def on_paint(self, event): dc = wx.PaintDC(self.panel) cr = wxcairo.ContextFromDC(dc) cr.set_source_rgb(1, 1, 1) # White background if self.scale != 1: cr.scale(self.scale, self.scale) try: cr.rectangle(0, 0, self.width, self.height) except TypeError: cr.rectangle(0, 0, 680, 400) cr.fill() if self.current_page: self.current_page.render(cr)
def Render(self, dc): """ ... """ # # Draw some stuff on the plain dc. sz = self.GetSize() xc = sz[0] / 2 yc = sz[1] / 2 frame_scale = sz[0] / 640 # dc.SetPen(wx.Pen("navy", 1)) # x = y = 0 # while x < sz.width * 2 or y < sz.height * 2: # x += 20 # y += 20 # dc.DrawLine(x, 0, 0, y) # # Now draw something with cairo. ctx = wxcairo.ContextFromDC(dc) # ctx.set_line_width(15) # ctx.move_to(125, 25) # ctx.line_to(225, 225) # ctx.rel_line_to(-200, 0) # ctx.close_path() # ctx.set_source_rgba(0, 0, 0.5, 1) # ctx.stroke() # And something else... ctx.save() factor = 2 table_size = 130 ctx.scale(factor, 1) ctx.arc(xc / factor, yc, table_size * frame_scale, 0, math.pi * 2) ctx.set_source_rgba(58 / 255, 121 / 255, 85 / 255, 1) ctx.fill_preserve() ctx.scale(1, 0.5) ctx.set_source_rgb(1, 0.5, 0) ctx.stroke() ctx.restore() self.DrawPlayers(6, table_size, ctx, 2, 1)