diff options
Diffstat (limited to 'Demo/sgi/gl/glstdwin/glstdwdraw.py')
-rw-r--r-- | Demo/sgi/gl/glstdwin/glstdwdraw.py | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/Demo/sgi/gl/glstdwin/glstdwdraw.py b/Demo/sgi/gl/glstdwin/glstdwdraw.py deleted file mode 100644 index 4ddc7a6..0000000 --- a/Demo/sgi/gl/glstdwin/glstdwdraw.py +++ /dev/null @@ -1,135 +0,0 @@ -# Define drawing operations for GL stdwin - -import gl -import fm -from GL import LO_XOR, LO_SRC -from glstdwin import MASK - -class DrawingObject: - # - def _init(self, win): - self.fg = win._fg - self.bg = win._bg - self.font = win._font - self.size = win._size - self.width, self.height = win._area[1] - gl.winset(win._gid) - gl.color(self.fg) - return self - # - def setfont(self, fontname): - self.font = fm.findfont(fontname).scalefont(self.size) - # - def setsize(self, size): - ratio = float(size) / float(self.size) - self.size = size - self.font = self.font.scalefont(ratio) - # - def setfgcolor(self, color): - self.fg = color - gl.color(self.fg) - # - def setbgcolor(self, color): - self.bg = color - # - def cliprect(self, area): - #print 'cliprect', area - (left, top), (right, bottom) = area - gl.scrmask(left, right, self.height-bottom, self.height-top) - # - def noclip(self): - #print 'noclip()' - gl.scrmask(0, self.width, 0, self.height) - # - def paint(self, ((left, top), (right, bottom))): - gl.rectf(left, top, right, bottom) - # - def box(self, ((left, top), (right, bottom))): - #print 'box', ((left, top), (right, bottom)) - gl.rect(left, top, right, bottom) - # - def circle(self, (h, v), radius): - gl.circ(h, v, radius) - # - def elarc(self, center, (rh, rv), (a1, a2)): - pass # XXX - # - def erase(self, ((left, top), (right, bottom))): - #print 'erase', ((left, top), (right, bottom)) - gl.color(self.bg) - gl.rectf(left, top, right, bottom) - gl.color(self.fg) - # - def invert(self, ((left, top), (right, bottom))): - #print 'invert', ((h0, v0), (h1, v1)) - gl.logicop(LO_XOR) - gl.color(self.bg) - gl.rectf(left, top, right, bottom) - gl.color(self.fg) - gl.logicop(LO_SRC) - # - def line(self, (h0, v0), (h1, v1)): - #print 'line', ((h0, v0), (h1, v1)) - gl.bgnline() - gl.v2i(h0, v0) - gl.v2i(h1, v1) - gl.endline() - # - def xorline(self, (h0, v0), (h1, v1)): - #print 'xorline', ((h0, v0), (h1, v1)) - gl.logicop(LO_XOR) - gl.color(self.bg) - gl.bgnline() - gl.v2i(h0, v0) - gl.v2i(h1, v1) - gl.endline() - gl.color(self.fg) - gl.logicop(LO_SRC) - # - def point(self, (h, v)): - #print 'point', (h, v) - gl.bgnpoint() - gl.v2i(h, v) - gl.endpoint() - # - def text(self, (h, v), string): - #print 'text', ((h, v), string) - if h < 0: - # If the point is outside the window - # the whole string isn't drawn. - # Skip the beginning of the string. - # XXX What if the font is bigger than 20 pixels? - i, n = 0, len(string) - while h < -MASK and i < n: - h = h + self.font.getstrwidth(string[i]) - i = i + 1 - string = string[i:] - gl.cmov2(h, v + self.baseline()) - self.font.setfont() - fm.prstr(string) - # - def shade(self, (h, v), percent): - pass # XXX - # - def baseline(self): - (printermatched, fixed_width, xorig, yorig, xsize, ysize, \ - height, nglyphs) = self.font.getfontinfo() - return height - yorig - # - def lineheight(self): - (printermatched, fixed_width, xorig, yorig, xsize, ysize, \ - height, nglyphs) = self.font.getfontinfo() - return height - # - def textbreak(self, string, width): - # XXX Slooooow! - n = len(string) - nwidth = self.textwidth(string[:n]) - while nwidth > width: - n = n-1 - nwidth = self.textwidth(string[:n]) - return n - # - def textwidth(self, string): - return self.font.getstrwidth(string) - # |