@@ -5,6 +5,9 @@ def DD_RGB_COLOR(r, g, b):
55def _DD_INT_ARG (val ):
66 return str (int (val ))
77
8+ def _DD_FLOAT_ARG (val ):
9+ return str (float (val ))
10+
811def _DD_BOOL_ARG (b ):
912 if b :
1013 return "1"
@@ -64,34 +67,41 @@ def noBorder(self):
6467 self .dd ._sendCommand (self .layer_id , "border" )
6568 def padding (self , left , top = None , right = None , bottom = None ):
6669 '''see border() for size unit'''
67- if top == None and right == None and bottom == None :
70+ if top is None and right is None and bottom is None :
6871 self .dd ._sendCommand (self .layer_id , "padding" , str (left ))
6972 else :
70- if top == None :
73+ if top is None :
7174 top = left
72- if right == None :
75+ if right is None :
7376 right = left
74- if bottom == None :
77+ if bottom is None :
7578 bottom = top
7679 self .dd ._sendCommand (self .layer_id , "padding" , str (left ), str (top ), str (right ), str (bottom ))
7780 def noPadding (self ):
7881 self .dd ._sendCommand (self .layer_id , "padding" )
7982 def margin (self , left , top = None , right = None , bottom = None ):
8083 '''see border() for size unit'''
81- if top == None and right == None and bottom == None :
84+ if top is None and right is None and bottom is None :
8285 self .dd ._sendCommand (self .layer_id , "margin" , str (left ))
8386 else :
84- if top == None :
87+ if top is None :
8588 top = left
86- if right == None :
89+ if right is None :
8790 right = left
88- if bottom == None :
91+ if bottom is None :
8992 bottom = top
9093 self .dd ._sendCommand (self .layer_id , "margin" , str (left ), str (top ), str (right ), str (bottom ))
9194 def noMargin (self ):
9295 self .dd ._sendCommand (self .layer_id , "margin" )
93- def backgroundColor (self , color ):
94- self .dd ._sendCommand (self .layer_id , "bgcolor" , _DD_COLOR_ARG (color ))
96+ def backgroundColor (self , color , opacity = 100 ):
97+ '''
98+ :param opacity: background opacity (0 - 100)
99+ :return:
100+ '''
101+ if opacity < 100 :
102+ self .dd ._sendCommand (self .layer_id , "bgcolor" , _DD_COLOR_ARG (color ), str (opacity ))
103+ else :
104+ self .dd ._sendCommand (self .layer_id , "bgcolor" , _DD_COLOR_ARG (color ))
95105 def noBackgroundColor (self ):
96106 self .dd ._sendCommand (self .layer_id , "nobgcolor" )
97107 def clear (self ):
@@ -103,7 +113,7 @@ def flashArea(self, x, y):
103113 self .dd ._sendCommand (self .layer_id , "flasharea" , str (x ), str (y ))
104114 # def writeComment(self, comment):
105115 # self.dd.writeComment(comment)
106- def enableFeedback (self , auto_feedback_method = "fa" , feedback_handler = None ):
116+ def enableFeedback (self , auto_feedback_method , feedback_handler = None ):
107117 '''
108118 rely on getFeedback() being called */
109119 :param auto_feedback_method:
@@ -125,7 +135,7 @@ def disableFeedback(self):
125135 '''disable feedback'''
126136 self .dd ._sendCommand (self .layer_id , "feedback" , _DD_BOOL_ARG (False ))
127137 self ._feedback_handler = None
128- def getFeedback (self ):
138+ def getFeedback (self ) -> DDFeedback :
129139 '''
130140 get any feedback as the structure {type, x, y}
131141 :return: None if none (or when "handler" set)
@@ -158,20 +168,11 @@ def reorderLayer(self, how: str):
158168
159169 def _handleFeedback (self , type , x , y ):
160170 #print("RAW FB: " + self.layer_id + '.' + type + ':' + str(x) + ',' + str(y))
161- if self ._feedback_handler != None :
171+ if self ._feedback_handler is not None :
162172 self ._feedback_handler (self , type , x , y )
163173 else :
164174 self ._feedbacks .append ((type , x , y ))
165175 # self._shipFeedbacks()
166- # def _shipFeedbacks(self):
167- # if self._feedback_handler != None:
168- # feedbacks = self._feedbacks.copy()
169- # self._feedbacks.clear()
170- # for (type, x, y) in feedbacks:
171- # self._feedback_handler.handleFeedback(type, x, y)
172- # # else:
173- # # for (type, x, y) in self.feedbacks:
174- # # print("unhandled FB: " + self.layer_id + '.' + type + ':' + str(x) + ',' + str(y))
175176
176177
177178
0 commit comments