Пример #1
0
    def OnPaint(self, event):
        """
            Painting when skined, otherwise it lets the system handle it
        """
        if self.native:
            event.Skip()
            return

        dc = wx.AutoBufferedPaintDC(self)

        rect = wx.RectS(self.Size)

        #Background drawing
        if self.bg:
            self.bg.Draw(dc, rect)

        rect.width = int(float(self.value) / float(self.range) * self.Size.x)

        #forground drawing
        if self.repeat:
            curser = wx.Point(self.padding, 0)
            while curser.x < self.fill:
                self.fg.Draw(dc, wx.RectPS(curser,
                                           (self.fg.width, rect.height)))
                curser.x += self.fg.width + self.padding

        else:
            self.fg.Draw(dc, wx.RectS((self.fill, rect.height)))
Пример #2
0
    def OnPaint(self, event):

        dc = wx.AutoBufferedPaintDC(self)

        if self._art != None:
            if self.IsMinimised():
                self._art.DrawMinimisedPanel(dc, self,
                                             wx.RectS(self.GetSize()),
                                             self._minimised_icon_resized)
            else:
                self._art.DrawPanelBackground(dc, self,
                                              wx.RectS(self.GetSize()))
Пример #3
0
    def paint(e):
        self = f
        dc = wx.BufferedPaintDC(self)

        size = self.Size
        rect = wx.RectS(size)

        dc.Brush = wx.WHITE_BRUSH
        dc.Pen = wx.TRANSPARENT_PEN
        dc.DrawRectangleRect(rect)

        gc = wx.GraphicsContext.Create(dc)

        for x in xrange(50):
            x1, y1, x2, y2 = (randint(0, rect.width - 1),
                              randint(0, rect.height - 1),
                              randint(0, rect.width - 1),
                              randint(0, rect.height - 1))

            gc.SetBrush(wx.RED_BRUSH)
            gc.SetPen(wx.BLACK_PEN)
            gc.DrawRoundedRectangle(x1, y1, x2, y2, randint(1, 15))

            gc.SetFont(wx.NORMAL_FONT, wx.BLACK)
            gc.DrawText('gctest', randint(0, rect.width - 1),
                        randint(0, rect.height - 1))
Пример #4
0
    def OnPaint(self, event):
        dc = wx.AutoBufferedPaintDC(self)
        rect = wx.RectS(self.Size)

        dc.Brush = wx.WHITE_BRUSH
        dc.Pen = wx.TRANSPARENT_PEN
        dc.DrawRectangleRect(rect)

        if rect.Contains(self.ScreenToClient(wx.GetMousePosition())):
            dc.Brush = wx.Brush(wx.Color(238, 239, 255))
            dc.Pen = wx.Pen(wx.Color(128, 128, 255))
            dc.DrawRoundedRectangleRect(rect, 4)
            if wx.GetMouseState().LeftDown():
                rect2 = rect.Deflate(5, 5)
                dc.Pen = wx.TRANSPARENT_PEN
                dc.Brush = wx.Brush(wx.Color(200, 200, 255))
                dc.DrawRectangleRect(rect2)

        if self.selected:
            rect2 = rect.Deflate(4, 4)
            dc.Pen = wx.TRANSPARENT_PEN
            dc.Brush = wx.Brush(wx.Color(128, 128, 255))
            dc.DrawRectangleRect(rect2)

        dc.DrawBitmap(self.bitmap, 8, 8, True)
Пример #5
0
    def OnPaint(self, event):
        size = self.Size
        dc = AutoDC(self)

        if not wxMac:
            # Non mac: white background, rounded rectangle around controls
            rect = wx.RectS(size)
            dc.Brush = self.bg_brush  #background
            dc.Pen = self.bg_pen  #background border
            dc.DrawRectangleRect(rect)
            ypos = self.headersizer.Size.height // 2 + space_over_header
            gc = wx.GraphicsContext.Create(dc)
            gc.SetBrush(self.fg_brush)  #foreground
            gc.SetPen(self.fg_pen)  #foreground
            gc.DrawRoundedRectangle(0, ypos, size.width - 1,
                                    size.height - ypos - 1, 5)
        else:
            # Mac: normal grey background, horizontal line above controls
            ypos = self.headersizer.Size.height // 2 + space_over_header + 2
            dc.Pen = self.fg_pen
            button_width = 0 if self.button is None else (
                self.button.Size.width)
            dc.DrawLine(10, ypos,
                        self.headersizer.Size.width - 10 - button_width, ypos)

        content = self.content
        if isinstance(content, AnyList):  # TODO: don't special case
            crect = wx.Rect(*content.Rect)
            crect = crect.Inflate(1, 1)
            dc.SetBrush(wx.TRANSPARENT_BRUSH)
            dc.SetPen(self.pen)
            dc.DrawRectangleRect(crect)
Пример #6
0
    def OnPaint(self, event):
        pdc = wx.PaintDC(self)
        mdc = wx.MemoryDC()
        bitmap = wx.EmptyBitmap(*self.GetSize())
        mdc.SelectObject(bitmap)

        rect = wx.RectS(self.GetSize())

        mdc.SetBrush(wx.WHITE_BRUSH)
        mdc.SetPen(wx.TRANSPARENT_PEN)

        mdc.DrawRectangleRect(rect)

        mdc.SetBrush(wx.Brush(wx.Color(*self.color)))

        mdc.SetPen(
            wx.Pen(
                wx.Color(self.color[0] / 2, self.color[1] / 2,
                         self.color[2] / 2), 1, wx.SOLID))

        mdc.DrawRoundedRectangleRect(rect, 5)
        mdc.SelectObject(wx.NullBitmap)
        #        image=Image.new('RGB',(bitmap.GetWidth(),bitmap.GetHeight()))
        #        image.fromstring(bitmap.ConvertToImage().GetData())
        #
        #        enhancer = ImageEnhance.Sharpness(image)
        #        image=enhancer.enhance(0)
        #
        #        wximage=wx.EmptyImage(*image.size)
        #        wximage.SetData(image.convert('RGB').tostring())

        #wx.BitmapFromBuffer(Image.string)
        pdc.DrawBitmap(bitmap, 0, 0)  #wximage.ConvertToBitmap(),0,0)
Пример #7
0
    def OnPaint(self, event):
        'Standard paint handling.'

        dc = wx.AutoBufferedPaintDC(self)
        rect = wx.RectS(self.ClientSize)

        if self.menubg:
            self.menubg.Draw(dc, rect)
        else:
            dc.SetClippingRect(rect)
            nrect = wx.Rect(*rect)
            nrect.Inflate(1,
                          1)  #wx.RectPS((-self.Rect.x,-self.Rect.y),self.Size)
            self.DrawNativeLike(dc, 0, 0, nrect,
                                self.DrawNativeBackgroundFallback)
            dc.DestroyClippingRegion()

#            dc.Brush = wx.RED_BRUSH
#            dc.Pen = wx.TRANSPARENT_PEN
#            dc.DrawRectangleRect(rect)

        rect.Height = self.itemheight

        i, j = self.FirstVisibleLine, self.LastVisibleLine
        if j >= 0 and j != sys.maxint * 2 + 1:
            bg, draw, measure = self.OnDrawBackground, self.OnDrawItem, self.OnMeasureItem
            for n in xrange(i, j + 1):
                bg(dc, rect, n)
                draw(dc, rect, n)
                rect.SetY(rect.GetY() + measure(n))
Пример #8
0
    def OnPaint(self,event):
        rect     = wx.RectS(self.Size)
        dc       = wx.PaintDC(self)
        dc.Brush = wx.WHITE_BRUSH
        dc.Pen   = wx.TRANSPARENT_PEN

        dc.DrawRectangleRect(rect)
Пример #9
0
    def OnDragOver(self, x, y, d):
        blist = self.list

        listrect = wx.RectS(blist.Size)
        mp = wx.Point(x, y)

        topdif = mp.y - listrect.y
        botdif = listrect.bottom - mp.y

        if topdif < 7 or botdif < 7:
            if self.lasttick is None:
                self.lasttick = default_timer()

            now = default_timer()

            toscroll = int((now - self.lasttick) * self.VELOCITY)

            if toscroll >= 1:
                self.lasttick = now

                if topdif < 5:
                    blist.ScrollLines(-toscroll)
                elif botdif < 5:
                    blist.ScrollLines(toscroll)
        else:
            self.lasttick = None

        return blist.dragResult
Пример #10
0
    def _paint(self, e):
        dc = wx.AutoBufferedPaintDC(self)
        pad = self.padding
        sz = self.ClientSize

        selected = self.IsSelected()
        self.CalcColors(selected)

        # Draw a background rectangle
        bg = self.bg  #getattr(self, 'selectedbg' if selected else 'bg')
        bg.Draw(dc, wx.RectS(sz), self.Index)

        x = 0
        if hasattr(self, 'checkbox'):
            x += self.checkbox_border * 2 + self.checkbox.Size.width

        x += pad.x

        image = self.image
        if image:
            dc.DrawBitmap(image, x, sz.height / 2 - self.image.Height / 2,
                          True)
            x += image.Width + pad.x

        self.draw_text(dc, x, sz)

        # Paint additional things from subclasses
        self.PaintMore(dc)

        # Paint the drag indication (if needed)
        self.draw_drag_indication(dc, self.Parent.drag)

        return dc
Пример #11
0
    def DrawNativeBackgroundFallback(self, dc, part, state, unusedrect):

        rect = wx.RectS(self.Size)

        dc.Brush = Brush(wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW))
        dc.Pen = wx.TRANSPARENT_PEN  #wx.Pen(wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOWFRAME))
        dc.DrawRectangleRect(rect)
Пример #12
0
    def OnPaint(self, event):

        dc = wx.AutoBufferedPaintDC(self)

        if self._art:
            self._art.DrawScrollButton(dc, self, wx.RectS(self.GetSize()),
                                       self._flags)
Пример #13
0
 def GetBitmap(self, size, n=0):
     tb = TransparentBitmap(size)
     dc = wx.MemoryDC()
     dc.SelectObject(tb)
     self.draw(dc, wx.RectS(size), n)
     dc.SelectObject(wx.NullBitmap)
     return tb
Пример #14
0
    def OnPaint(self, event):
        dc = wx.PaintDC(self)
        rect = wx.RectS(self.GetSize())

        dc.SetPen(wx.BLACK_PEN)
        dc.SetBrush(wx.WHITE_BRUSH)

        dc.DrawRectangleRect(rect)
Пример #15
0
    def OnPaint(self, event):

        # No foreground painting done by the page itself, but a paint DC
        # must be created anyway.
        dc = wx.AutoBufferedPaintDC(self)
        rect = wx.RectS(self.GetSize())
        rect = self.AdjustRectToIncludeScrollButtons(rect)
        self._art.DrawPageBackground(dc, self, rect)
Пример #16
0
    def OnPaint(self, event):
        dc = wx.AutoBufferedPaintDC(self)
        rect = wx.RectS(self.Size)

        dc.Brush = self.brush
        dc.Pen = wx.TRANSPARENT_PEN

        dc.DrawRectangleRect(rect)
Пример #17
0
    def OnPaint(self,event):
        rect = wx.RectS(self.ClientSize)

        dc = wx.AutoBufferedPaintDC(self)

        dc.Brush = wx.WHITE_BRUSH
        dc.Pen = wx.Pen(wx.Color(213,213,213))

        dc.DrawRectangleRect(rect)
Пример #18
0
    def DrawPartialPanelBackground(self, dc, wnd, rect):

        dc.SetPen(wx.TRANSPARENT_PEN)
        dc.SetBrush(self._background_brush)
        dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height)

        offset = wx.Point(*wnd.GetPosition())
        parent = wnd.GetParent()
        panel = None

        while 1:
            panel = parent
            if isinstance(panel, PANEL.RibbonPanel):
                if not panel.IsHovered():
                    return
                break

            offset += parent.GetPosition()
            parent = panel.GetParent()

        if panel is None:
            return

        background = wx.RectS(panel.GetSize())
        background = self.RemovePanelPadding(background)

        background.x += 1
        background.width -= 2
        dc.SetFont(self._panel_label_font)
        caption_height = dc.GetTextExtent(panel.GetLabel())[1] + 7
        background.y += caption_height - 1
        background.height -= caption_height

        paint_rect = wx.Rect(*rect)
        paint_rect.x += offset.x
        paint_rect.y += offset.y

        if wx.Platform == "__WXMAC__":
            bg_grad_clr = self._page_hover_background_colour
            bg_clr = self._page_hover_background_gradient_colour
        else:
            bg_clr = self._page_hover_background_colour
            bg_grad_clr = self._page_hover_background_gradient_colour

        paint_rect.Intersect(background)

        if not paint_rect.IsEmpty():
            starting_colour = RibbonInterpolateColour(
                bg_clr, bg_grad_clr, paint_rect.y, background.y,
                background.y + background.height)
            ending_colour = RibbonInterpolateColour(
                bg_clr, bg_grad_clr, paint_rect.y + paint_rect.height,
                background.y, background.y + background.height)
            paint_rect.x -= offset.x
            paint_rect.y -= offset.y
            dc.GradientFillLinear(paint_rect, starting_colour, ending_colour,
                                  wx.SOUTH)
Пример #19
0
    def GetBitmap(self, size, n=0):
        tb = TransparentBitmap(size)
        dc = wx.MemoryDC()
        dc.SelectObject(tb)

        for region in reversed(self):
            region.draw(dc, wx.RectS(size), n)

        dc.SelectObject(wx.NullBitmap)
        return tb
Пример #20
0
    def draw_text(self, dc, x, sz):
        '''
        Draws the main text label for this row.
        '''

        status = self.status_msg.status if self.status_msg is not None else None
        message = self.status_msg.message if self.status_msg is not None else None

        dc.Font = self.Font

        DrawExceptionLabels(dc, x, wx.RectS(sz), self.get_text(), _(status), message)
Пример #21
0
    def OnBGPaint(self, event):
        'Handles wx.EVT_ERASE_BACKGROUND.'

        dc = wx.AutoBufferedPaintDC(self)  #wx.BufferedDC(wx.ClientDC(self))

        if self.bg:
            rect = RectS(self.Size)
            self.bg.Draw(dc, rect)
        else:
            self.DrawNativeLike(dc, 0, 0, wx.RectS(self.Size))

        self.ChildPaints(dc)
Пример #22
0
    def OnPaint(self, event):


        dc = wx.AutoBufferedPaintDC(self)
        dc.Font = self.Font

        rect = wx.RectS(self.Size)

        dc.SetBrush(wx.WHITE_BRUSH)
        dc.SetPen(wx.TRANSPARENT_PEN)
        dc.DrawRectangleRect(rect)

        DrawExceptionLabels(dc, 5, rect, _("Account"), _("Status"), _("Message"), True, self.exceptionlist.ClientSize.width)
Пример #23
0
    def paint(e):
        dc = wx.AutoBufferedPaintDC(f)
        gc = wx.GraphicsContext.Create(dc)
        if fix: gc.Translate(-.5, -.5)

        dc.Brush = wx.BLACK_BRUSH
        dc.Pen = wx.TRANSPARENT_PEN
        dc.DrawRectangleRect(wx.RectS(f.ClientSize))

        drawrect(dc, 10, 35)
        drawrect(gc, 40, 35)
        drawrect(dc, 70, 35, True)
        drawrect(gc, 100, 35, True)
Пример #24
0
	def OnIdle(self, event):
		event.Skip()
		if self.IsShown():
			pos = self.child.ScreenToClient(wx.GetMousePosition())
			rect = wx.RectS(self.child.Size)
			if rect.Contains(pos):
				if self.child.HasCapture():	
					print "Releasing"
					self.child.ReleaseMouse()
			else:
				if not self.child.HasCapture():
					print "Capturing"
					self.child.CaptureMouse()
Пример #25
0
    def OnPaint(self, event):
        """Draws the background of the menu"""
        dc = wx.PaintDC(self)
        rect = wx.RectS(self.Size)

        bg = self.spine.framebg
        if bg:
            bg.Draw(dc, rect)
        elif self.spine.native:
            dc.Brush = wx.TRANSPARENT_BRUSH
            dc.Pen = wx.Pen(
                wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOWFRAME))
            dc.DrawRectangleRect(rect)
Пример #26
0
    def OnPaintWithOutline(event):
        dc = wx.AutoBufferedPaintDC(p)

        rect = wx.RectS(p.Size)
        irect = wx.Rect(input.Rect)
        irect.Inflate(1, 1)

        dc.Brush = wx.WHITE_BRUSH
        dc.Pen = wx.TRANSPARENT_PEN

        dc.DrawRectangleRect(rect)

        dc.Pen = wx.Pen(wx.Color(213, 213, 213))
        dc.DrawRectangleRect(irect)
Пример #27
0
    def OnPaint(self, event):
        dc = wx.AutoBufferedPaintDC(self)
        s, icon = self.Size, self.icon
        rect = wx.RectS(s)

        if self.dpoint:
            self.activebg.Draw(dc, rect)
        elif wx.FindWindowAtPointer() is self:
            self.hoverbg.Draw(dc, rect)
        else:
            self.normalbg.Draw(dc, rect)

        if icon:
            dc.DrawBitmap(icon, (s.width - icon.Width) / 2,
                          (s.height - icon.Height) / 2, True)
Пример #28
0
    def OnPaint(self,event):
        dc = wx.AutoBufferedPaintDC(self)

        rect = wx.RectS(self.Size)

        if wx.FindWindowAtPointer() is self:
            self.hoverbg.Draw(dc, rect)
        else:
            self.normalbg.Draw(dc, rect)

        W, H = self.GetSize()
        w, h = self.bitmap.GetSize()

        # drawing it centered on the box
        if self.bitmap is not None:
            dc.DrawBitmap(self.bitmap, W/2 - w/2, H/2 - h/2, True)
Пример #29
0
    def OnMotion(self,event):
        rect = wx.RectS(self.ClientSize)
        wap = wx.FindWindowAtPointer()
        mp = event.Position

        if not rect.Contains(mp) or wap != self:
            while self.HasCapture():
                self.ReleaseMouse()

            self.Hovered = -1
            return

        elif not self.HasCapture():
            self.CaptureMouse()

        self.Hovered = self.HitTest(mp)
Пример #30
0
    def OnPaint(self, event):

        dc = wx.PaintDC(self)
        rect = wx.RectS(self.Size)

        if platformName != 'mac':
            dc.Brush = wx.Brush(self.BackgroundColour)
            dc.Pen = wx.TRANSPARENT_PEN
            dc.DrawRectangleRect(rect)

        dc.Font = self.Font

        iwidth, iheight = self.iconspace
        icon = self.expandedicon if self.Expanded else self.callapsedicon
        textrect = wx.Rect(iwidth + 9, 0, rect.width - (iwidth + 9) - 3,
                           rect.height)
        dc.DrawBitmap(icon, (iwidth // 2 - icon.Width // 2) + 3,
                      (iheight // 2 - icon.Height // 2) + 3, True)
        dc.DrawLabel(self.Label, textrect, wx.ALIGN_LEFT | wx.ALIGN_TOP)