Пример #1
0
 def _update_bbox(self, minx, miny, maxx, maxy):
     assert type(minx) == type(maxx) == type(miny) == type(maxy) == type(1)
     if minx > maxx:
         minx, maxx = maxx, minx
     if miny > maxy:
         miny, maxy = maxy, miny
     self._clonebboxes.append((minx, miny, maxx, maxy))
     if not self._win32rgn:
         self._win32rgn=win32ui.CreateRgn()
         self._win32rgn.CreateRectRgn((minx, miny, maxx, maxy))
     else:
         addrgn=win32ui.CreateRgn()
         addrgn.CreateRectRgn((minx, miny, maxx, maxy))
         self._win32rgn.CombineRgn(self._win32rgn,addrgn,win32con.RGN_OR)
         addrgn.DeleteObject()
         del addrgn
Пример #2
0
 def getClipRgn(self, rel=None):
     x, y, w, h = self.LRtoDR(self.getwindowpos(), round=1)
     rgn = win32ui.CreateRgn()
     rgn.CreateRectRgn((x, y, x + w, y + h))
     if rel == self: return rgn
     prgn = self._parent.getClipRgn(rel)
     rgn.CombineRgn(rgn, prgn, win32con.RGN_AND)
     prgn.DeleteObject()
     return rgn
Пример #3
0
 def clone(self):
     w = self._window
     new = _DisplayList(w, self._bgcolor, units=self.__units)
     # copy all instance variables
     new._list = self._list[:]
     new._font = self._font
     new.__cmddict = self.__cmddict
     new.__butdict = self.__butdict
     if self._win32rgn:
         new._win32rgn=win32ui.CreateRgn()
         new._win32rgn.CopyRgn(self._win32rgn)
     if self._rendered:
         new._cloneof = self
         new._clonestart = len(self._list)
     for key, val in self._optimdict.items():
         new._optimdict[key] = val
     return new
Пример #4
0
 def createRegion(self, pointlist):
     npl = []
     for p in pointlist:
         x = int(p[0] + 0.5)
         y = int(p[1] + 0.5)
         npl.append((x, y))
     rgn = win32ui.CreateRgn()
     try:
         succeeded = rgn.CreatePolygonRgn(npl)
     except:
         print 'CreatePolygonRgn exception:', npl
         succeeded = 0
         rgn = None
     else:
         if not succeeded:
             print 'CreatePolygonRgn failed:', npl
             rgn = None
     return rgn
Пример #5
0
 def getCanvasClipRgn(self, rel=None):
     rgn = win32ui.CreateRgn()
     rgn.CreateRectRgn(self._canvas)
     return rgn
Пример #6
0
 def getClipRgn(self, rel=None):
     x, y, w, h = self._canvas
     rgn = win32ui.CreateRgn()
     rgn.CreateRectRgn((x, y, x + w, y + h))
     return rgn