/[gnue]/gnue-pos/src/hardware/receiptprinter/escpos.py
ViewVC logotype

Diff of /gnue-pos/src/hardware/receiptprinter/escpos.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by jcater, Mon Jul 7 05:29:13 2003 UTC revision 1.3 by jcater, Fri Aug 15 12:11:02 2003 UTC
# Line 38  class Driver(BaseDriver): Line 38  class Driver(BaseDriver):
38    #    #
39    
40    def init(self):    def init(self):
41      self.twocolor = hasattr(self,'twocolor') and self.width or 0      self.colors = hasattr(self,'colors') and self.colors or 1
42        self.__double = 0
43        self.__underline = 0
44        self.__doubleheight = 0
45        self.__bold = 0
46    
47      def reset(self):
48        return "\x1B@"
49    
50      def formfeed(self):
51        return '\n\n\n\n\n\n'
52    
53      def beginColor(self, color):
54        if self.colors == 1:
55          return ""
56        else:
57          return "\x1Br" + chr(color)
58    
59      def endColor(self, color):
60        if self.colors == 1:
61          return ""
62        else:
63          return "\x1Br\x00"
64    
65      def beginBold(self):
66        self.__bold = 1
67        return self.__setPrintMode()
68    
69      def endBold(self):
70        self.__bold = 0
71        return self.__setPrintMode()
72    
73      def beginDouble(self):
74        self.__double = 1
75        return self.__setPrintMode()
76    
77      def endDouble(self):
78        self.__double = 0
79        return self.__setPrintMode()
80    
81      def beginDoubleHeight(self):
82        self.__doubleheight = 1
83        return self.__setPrintMode()
84    
85      def endDoubleHeight(self):
86        self.__doubleheight = 0
87        return self.__setPrintMode()
88    
89      def beginUnderline(self):
90        self.__underline = 1
91        return self.__setPrintMode()
92    
93      def endUnderline(self):
94        self.__underline = 0
95        return self.__setPrintMode()
96    
97      def __setPrintMode(self):
98        return "\x1B!" + chr(self.__bold * 8 | self.__doubleheight * 16 | \
99                             self.__double * 32 | self.__underline * 128)
100    
101      def drawImage(self, image):
102        logoOffset = 0
103    
104        lw, lh = image.size
105        vw = min(round(lw/8.0+.5),45)
106        vh = min(round(lh/8.0+.5),24)
107        uw = vw * 8
108        uh = vh * 8
109    
110        rs = "\x1D\x2A" + chr(vw) + chr(vh) + "\x00"
111    
112        for y in range(vh):
113          for x in range(uw):
114            byte = 0
115            for bit in range(8):
116              try:
117                byte |= 2**bit and (image.getpixel((x, (y+1)*8 - (bit+1)*8)) > 0)
118              except IndexError:
119                pass
120            rs += chr(byte)
121    
122        return rs + "\x1D\x2F\x00"
123    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26