def Init_page(self): """ Dessine le fond de page """ # Ombre de la page ombre1 = FloatCanvas.Rectangle( (self.taille_page[0] - 1, -EPAISSEUR_OMBRE), (EPAISSEUR_OMBRE + 1, self.taille_page[1]), LineWidth=0, LineColor=COULEUR_OMBRE_PAGE, FillColor=COULEUR_OMBRE_PAGE, InForeground=False) ombre2 = FloatCanvas.Rectangle( (EPAISSEUR_OMBRE, -EPAISSEUR_OMBRE), (self.taille_page[0] - 1, EPAISSEUR_OMBRE + 1), LineWidth=0, LineColor=COULEUR_OMBRE_PAGE, FillColor=COULEUR_OMBRE_PAGE, InForeground=False) # Fond de page rect = FloatCanvas.Rectangle((0, 0), self.taille_page, LineWidth=1, FillColor=COULEUR_FOND_PAGE, InForeground=False) self.page = self.canvas.AddGroup([ombre1, ombre2, rect], InForeground=False)
def __init__(self, main_cfg): super().__init__() w, h = 1920, 1080 super(PyPublisher, self).__init__(None, title="MIBCI", size=(w, h)) # self.main_cfg = main_cfg self.is_pre = main_cfg.is_pre self.session_type = main_cfg.session_type self.save_path = main_cfg.subject.get_date_dir() self.NF_time_len = main_cfg.stim_cfg.NF_training_duration self.init_data() self.Bind(wx.EVT_CHAR_HOOK, self.onKey) self.Bind(wx.EVT_CLOSE, self.onClose) self.rect0 = FloatCanvas.Rectangle((0, 0), (0, 0), FillColor='Red') # self.rect1 = FloatCanvas.Rectangle((0, 0), (0, 0), FillColor='Red') self.rect_t = FloatCanvas.Rectangle((0, 0), (0, 0), FillColor='Red') # 进度条 self.Canvas = FloatCanvas.FloatCanvas( self, -1, size=(w, h), ProjectionFun=None, Debug=0, BackgroundColor="Black", ) self.SetSize(x=1920, y=0, width=w, height=h)
def recoding_on_mouse_move(self, event): if self.now != 1: # judge Rectangle whether first draw if first draw, don't remove self.canvas.RemoveObject(self.rect_venv) ds_x, ds_y = self.die_size gc_x, gc_y = self.grid_center dc_x, dc_y = wm_utils.coord_to_grid( event.Coords, self.die_size, self.grid_center, ) self.dc_x, self.dc_y = dc_x, dc_y self.now += 1 goal_x, goal_y = wm_utils.grid_to_rect_coord( (dc_x, dc_y), self.die_size, self.grid_center) r1 = math.sqrt(self.start_x**2 + self.start_y**2) r2 = math.sqrt(self.start_x**2 + goal_y**2) r3 = math.sqrt(goal_x**2 + goal_y**2) r4 = math.sqrt(goal_x**2 + self.start_y**2) # judge whether out of circle if out: not draw if r1 <= self.wafer_info.dia / 2 and r2 <= self.wafer_info.dia / 2 and r3 <= self.wafer_info.dia / 2 and r4 <= self.wafer_info.dia / 2: self.rect_venv = FloatCanvas.Rectangle( (self.start_x, self.start_y), (goal_x - self.start_x, goal_y - self.start_y), LineStyle=None, FillColor="Green") self.canvas.AddObject(self.rect_venv) self.draw_wafer_objects() # move to draw die need redraw grid self.canvas.Draw() else: self.canvas.Draw()
def OnLeftDown(self,event): x = event.Coords[0] y = event.Coords[1] print("coordinates: ",x,y) rect = FloatCanvas.Rectangle((x,y), (300, 40), FillColor='SKY BLUE') self.nav_canvas.AddObject(rect) self.nav_canvas.Draw()
def Dessine_etiquettes(self): # Calcul du nbre de colonnes et de lignes if self.largeurEtiquette < 1 or self.hauteurEtiquette < 1: nbreColonnes = 0 nbreLignes = 0 else: nbreColonnes = (self.largeurPage - self.margeGauche - self.margeDroite + self.espaceHorizontal) / ( self.largeurEtiquette + self.espaceHorizontal) nbreLignes = (self.hauteurPage - self.margeHaut - self.margeBas + self.espaceVertical) / (self.hauteurEtiquette + self.espaceVertical) # Dessin des étiquettes numColonne = 0 numLigne = 0 y = self.hauteurPage - self.margeHaut - self.hauteurEtiquette for numLigne in range(0, nbreLignes): x = self.margeGauche for numColonne in range(0, nbreColonnes): rect = FloatCanvas.Rectangle( numpy.array([x, y]), numpy.array([self.largeurEtiquette, self.hauteurEtiquette]), LineWidth=0.25, LineColor=COULEUR_BORD_ETIQUETTE, FillColor=COULEUR_FOND_ETIQUETTE, InForeground=True) self.canvas.AddObject(rect) x += (self.largeurEtiquette + self.espaceHorizontal) y -= (self.hauteurEtiquette + self.espaceVertical)
def test_lib_floatcanvas_fc_rectangle(self): fccanvas = fc.FloatCanvas(self.frame) obj = fc.Rectangle((2, 2), (2, 2)) fccanvas.AddObject(obj) fccanvas.Destroy()
def __init__(self, node, config, InForeground=False, IsVisible=True): Label = node.name location = config.Point(node) self.connectors = sets.Set([]) BackgroundColor = config.getNodeColor(node) TextColor = config.getNodeTextColor(node) shape = config.getNodeShape(node) locationArray = N.asarray(location, N.float).reshape(2, ) WH = N.asarray(config.getRectangleSize(), N.float).reshape(2, ) #print "Node %s: Location = %s, WH = %s"%(Label, locationArray, WH) self.Node = node scaler = 1. + len(Label) / 7.0 self.Label = FC.ScaledText( Label, locationArray, Size=WH[1] / scaler, Color=TextColor, Position='cc', ) if shape == "rectangle": self.Shape = FC.Rectangle( (locationArray - WH / 2.0), WH, FillColor=BackgroundColor, LineStyle=None, ) elif shape == "ellipse": self.Shape = FC.Ellipse( (locationArray - WH / 2.0), WH, FillColor=BackgroundColor, LineStyle=None, ) else: print "Error. Unknown shape: %s" % (shape, ) FC.Group.__init__(self, [self.Shape, self.Label], InForeground, IsVisible)
def __init__(self): super(Frame, self).__init__(None) self.SetTitle('My Title') self.SetClientSize((500, 500)) self.Center() self.Canvas = FloatCanvas.FloatCanvas(self, -1, size=(500, 500), ProjectionFun=None, Debug=0, BackgroundColor="White", ) # add a circle cir = FloatCanvas.Circle((10, 10), 100) self.Canvas.AddObject(cir) # add a rectangle rect = FloatCanvas.Rectangle((110, 10), (100, 100), FillColor='Red') self.Canvas.AddObject(rect) self.Canvas.Draw()
def OnClickLeft(self, event): with open('testjson.json', 'r') as file1: T = json.load(file1) for room, dim in T.items(): for par, dim1 in dim.items(): if par == "topright_pos_y": xx = int(T[room]["topright_pos_x"]) y1 = int(T[room]["topright_pos_y"]) yy = 0 - y1 # changing the +Y-axis to -Y-axis ll = int(T[room]["length"]) bb = int(T[room]["breadth"]) drline1 = FloatCanvas.Line([(xx, yy), (xx + ll, yy)], LineWidth=4, LineColor='black') self.Canvas.AddObject(drline1) drline2 = FloatCanvas.Line([(xx, yy), (xx, yy - bb)], LineWidth=4, LineColor='black') self.Canvas.AddObject(drline2) drline3 = FloatCanvas.Line([(xx + ll, yy), (xx + ll, yy - bb)], LineWidth=4, LineColor='black') self.Canvas.AddObject(drline3) drline4 = FloatCanvas.Line([(xx, yy - bb), (xx + ll, yy - bb)], LineWidth=4, LineColor='black') self.Canvas.AddObject(drline4) self.Canvas.Draw() if par == "nodes": for i in range(len(T[room]["nodes"])): N.append(int(T[room][par][i]["node_id"])) X.append(int(T[room][par][i]["node_pos_x"])) Y.append(int(T[room][par][i]["node_pos_y"])) for node_par, node_val in T[room][par][i].items(): if T[room][par][i]["type"] == "s": cir = FloatCanvas.Circle([ int(T[room][par][i]["node_pos_x"]), -int(T[room][par][i]["node_pos_y"]) ], 7, FillColor='red') self.Canvas.AddObject(cir) if T[room][par][i]["type"] == "p": rect = FloatCanvas.Rectangle([ int(T[room][par][i]["node_pos_x"]), -int(T[room][par][i]["node_pos_y"]) ], (8, 8), FillColor='blue') self.Canvas.AddObject(rect) if T[room][par][i]["type"] == "k": poly = FloatCanvas.Polygon([ (int(T[room][par][i]["node_pos_x"]) - 4, -int(T[room][par][i]["node_pos_y"]) - 4), (int(T[room][par][i]["node_pos_x"]) + 4, -int(T[room][par][i]["node_pos_y"]) - 4), (int(T[room][par][i]["node_pos_x"]) + 4, -int(T[room][par][i]["node_pos_y"]) + 4), (int(T[room][par][i]["node_pos_x"]) - 4, -int(T[room][par][i]["node_pos_y"]) + 4) ], FillColor='yellow') self.Canvas.AddObject(poly) if T[room][par][i]["type"] == "r": poly1 = FloatCanvas.Polygon([ (int(T[room][par][i]["node_pos_x"]), -int(T[room][par][i]["node_pos_y"]) - 7), (int(T[room][par][i]["node_pos_x"]) - 7, -int(T[room][par][i]["node_pos_y"]) + 7), (int(T[room][par][i]["node_pos_x"]) + 7, -int(T[room][par][i]["node_pos_y"]) + 7) ], FillColor='cyan') self.Canvas.AddObject(poly1) if room == "Blank_Area": points = [(int(T[room]['x1']), -int(T[room]['y1'])), (int(T[room]['x2']), -int(T[room]['y2'])), (int(T[room]['x3']), -int(T[room]['y3'])), (int(T[room]['x4']), -int(T[room]['y4'])), (int(T[room]['x5']), -int(T[room]['y5'])), (int(T[room]['x6']), -int(T[room]['y6'])), (int(T[room]['x7']), -int(T[room]['y7'])), (int(T[room]['x8']), -int(T[room]['y8'])), (int(T[room]['x9']), -int(T[room]['y9'])), (int(T[room]['x10']), -int(T[room]['y10'])), (int(T[room]['x11']), -int(T[room]['y11']))] blankarea = FloatCanvas.Polygon(points, LineWidth=4, LineColor='black', FillColor="#95bce7", FillStyle='Solid') self.Canvas.AddObject(blankarea) # Dialog Box to input the limiting distance dlg_limit = wx.TextEntryDialog(self, 'Enter the Limiting Distance:') if dlg_limit.ShowModal() == wx.ID_OK: limit = int(dlg_limit.GetValue()) dlg_limit.Destroy() # Drawing lines for shortest distances between two nodes for i in range(len(N)): for j in range(len(N)): dist = self.distance_calc(X[i], -Y[i], X[j], -Y[j]) if dist < limit: self.Canvas.AddObject( FloatCanvas.Line([(X[i], -Y[i]), (X[j], -Y[j])], LineColor='Black', LineStyle='Solid', LineWidth=1)) self.Canvas.Draw()
def process_jsonfile(self, T): for room, dim in T.items(): for par, dim1 in dim.items(): if par == "topright_pos_y": xx = int(T[room]["topright_pos_x"]) y1 = int(T[room]["topright_pos_y"]) yy = 0 - y1 # changing the +Y-axis to -Y-axis ll = int(T[room]["length"]) bb = int(T[room]["breadth"]) drline1 = FloatCanvas.Line([(xx, yy), (xx + ll, yy)], LineWidth=4, LineColor='black') self.Canvas.AddObject(drline1) drline2 = FloatCanvas.Line([(xx, yy), (xx, yy - bb)], LineWidth=4, LineColor='black') self.Canvas.AddObject(drline2) drline3 = FloatCanvas.Line([(xx + ll, yy), (xx + ll, yy - bb)], LineWidth=4, LineColor='black') self.Canvas.AddObject(drline3) drline4 = FloatCanvas.Line([(xx, yy - bb), (xx + ll, yy - bb)], LineWidth=4, LineColor='black') self.Canvas.AddObject(drline4) self.Canvas.Draw() if par == "Nodes": for i in range(len(T[room]["Nodes"])): N.append(int(T[room][par][i]["node_id"])) X.append(int(T[room][par][i]["node_pos_x"])) Y.append(int(T[room][par][i]["node_pos_y"])) for node_par, node_val in T[room][par][i].items(): print("----", T[room][par][i]["node_id"], "------") if T[room][par][i]["type"] == "s": cir = FloatCanvas.Circle([ int(T[room][par][i]["node_pos_x"]), -int(T[room][par][i]["node_pos_y"]) ], 7, FillColor='red') self.Canvas.AddObject(cir) print(T[room][par][i]["type"]) if T[room][par][i]["type"] == "k": poly = FloatCanvas.Polygon([ (int(T[room][par][i]["node_pos_x"]) - 4, -int(T[room][par][i]["node_pos_y"]) - 4), (int(T[room][par][i]["node_pos_x"]) + 4, -int(T[room][par][i]["node_pos_y"]) - 4), (int(T[room][par][i]["node_pos_x"]) + 4, -int(T[room][par][i]["node_pos_y"]) + 4), (int(T[room][par][i]["node_pos_x"]) - 4, -int(T[room][par][i]["node_pos_y"]) + 4) ], FillColor='yellow') self.Canvas.AddObject(poly) print(T[room][par][i]["type"]) if T[room][par][i]["type"] == "r": rect = FloatCanvas.Rectangle([ int(T[room][par][i]["node_pos_x"]), -int(T[room][par][i]["node_pos_y"]) ], (8, 8), FillColor='blue') self.Canvas.AddObject(rect) print(T[room][par][i]["type"]) if room == "Blank_Area": points = [(int(T[room]['x1']), -int(T[room]['y1'])), (int(T[room]['x2']), -int(T[room]['y2'])), (int(T[room]['x3']), -int(T[room]['y3'])), (int(T[room]['x4']), -int(T[room]['y4'])), (int(T[room]['x5']), -int(T[room]['y5'])), (int(T[room]['x6']), -int(T[room]['y6'])), (int(T[room]['x7']), -int(T[room]['y7'])), (int(T[room]['x8']), -int(T[room]['y8'])), (int(T[room]['x9']), -int(T[room]['y9'])), (int(T[room]['x10']), -int(T[room]['y10'])), (int(T[room]['x11']), -int(T[room]['y11']))] blankarea = FloatCanvas.Polygon(points, LineWidth=4, LineColor='black', FillColor="#95bce7", FillStyle='Solid') self.Canvas.AddObject(blankarea)
def __init__(self, *args, **kwargs): wx.Frame.__init__(self, *args, **kwargs) self.CreateStatusBar() # Add the Canvas NC = NavCanvas.NavCanvas( self, -1, size=(500, 500), ProjectionFun=None, Debug=0, BackgroundColor="DARK SLATE BLUE", ) Canvas = NC.Canvas self.Canvas = Canvas self.Canvas.Bind(FloatCanvas.EVT_MOTION, self.OnMove) Point = (45, 40) ## create a few Objects: C = FloatCanvas.Circle((0, 0), 10, FillColor="Red") R = FloatCanvas.Rectangle((5, 5), (15, 8), FillColor="Blue") E = FloatCanvas.Ellipse((1.5, 1.5), (12, 8), FillColor="Purple") C2 = FloatCanvas.Circle((0, 5), 10, FillColor="cyan") T = FloatCanvas.Text("Group A", (5.5, 5.5), Position="cc", Size=16, Weight=wx.BOLD, Family=wx.SWISS) self.GroupA = FloatCanvas.Group((R, C, E)) self.GroupA.AddObjects((C2, T)) Canvas.AddObject(self.GroupA) ## create another Groups of objects R = FloatCanvas.Rectangle((15, 15), (10, 18), FillColor="orange") E = FloatCanvas.Ellipse((22, 28), (12, 8), FillColor="yellow") C = FloatCanvas.Circle((25, 20), 15, FillColor="Green") C2 = FloatCanvas.Circle((12, 22), 10, FillColor="cyan") T = FloatCanvas.Text("Group B", (19, 24), Position="cc", Size=16, Weight=wx.BOLD, Family=wx.SWISS) self.GroupB = FloatCanvas.Group((R, E, C, C2, T)) Canvas.AddObject(self.GroupB) self.Groups = {"A": self.GroupA, "B": self.GroupB} # Add a couple of tools to the Canvas Toolbar tb = NC.ToolBar # tb.AddSeparator() for Group in self.Groups: Button = wx.Button(tb, wx.ID_ANY, "Remove %s" % Group) tb.AddControl(Button) Button.Bind(wx.EVT_BUTTON, lambda evt, group=Group: self.RemoveGroup(evt, group)) Button = wx.Button(tb, wx.ID_ANY, "Replace%s" % Group) tb.AddControl(Button) Button.Bind(wx.EVT_BUTTON, lambda evt, group=Group: self.ReplaceGroup(evt, group)) tb.Realize() self.Show() Canvas.ZoomToBB()
def rectangle(self, xy, wh, s): self.shape = fc.Rectangle(xy, wh) self.shape.pair = self self.create_text(s)
def OnClickLeft(self,event): with open('testjson.json','r') as file1: T = json.load(file1) for room,dim in T.items(): for par,dim1 in dim.items(): if par == "topright_pos_y": xx=int(T[room]["topright_pos_x"]) y1=int(T[room]["topright_pos_y"]) yy=0-y1 # changing the +Y-axis to -Y-axis ll=int(T[room]["length"]) bb=int(T[room]["breadth"]) drline1 = FloatCanvas.Line([(xx,yy),(xx+ll,yy)],LineWidth=4,LineColor='black') self.Canvas.AddObject(drline1) drline2 = FloatCanvas.Line([(xx,yy),(xx,yy-bb)],LineWidth=4,LineColor='black') self.Canvas.AddObject(drline2) drline3 = FloatCanvas.Line([(xx+ll,yy),(xx+ll,yy-bb)],LineWidth=4,LineColor='black') self.Canvas.AddObject(drline3) drline4 = FloatCanvas.Line([(xx,yy-bb),(xx+ll,yy-bb)],LineWidth=4,LineColor='black') self.Canvas.AddObject(drline4) self.Canvas.Draw() if par == "nodes": for i in range(len(T[room]["nodes"])): N.append(int(T[room][par][i]["node_id"])) X.append(int(T[room][par][i]["node_pos_x"])) Y.append(int(T[room][par][i]["node_pos_y"])) # Drawing Nodes for node_par,node_val in T[room][par][i].items(): if T[room][par][i]["type"] == "s": cir = FloatCanvas.Circle([int(T[room][par][i]["node_pos_x"]),-int(T[room][par][i]["node_pos_y"])],7,FillColor = 'red') self.Canvas.AddObject(cir) if T[room][par][i]["type"] == "p": rect = FloatCanvas.Rectangle([int(T[room][par][i]["node_pos_x"]),-int(T[room][par][i]["node_pos_y"])],(8,8),FillColor='blue') self.Canvas.AddObject(rect) if T[room][par][i]["type"] == "k": poly = FloatCanvas.Polygon([(int(T[room][par][i]["node_pos_x"])-4,-int(T[room][par][i]["node_pos_y"])-4), (int(T[room][par][i]["node_pos_x"])+4,-int(T[room][par][i]["node_pos_y"])-4), (int(T[room][par][i]["node_pos_x"])+4,-int(T[room][par][i]["node_pos_y"])+4), (int(T[room][par][i]["node_pos_x"])-4,-int(T[room][par][i]["node_pos_y"])+4)], FillColor='yellow') self.Canvas.AddObject(poly) if T[room][par][i]["type"] == "r": poly1 = FloatCanvas.Polygon([(int(T[room][par][i]["node_pos_x"]),-int(T[room][par][i]["node_pos_y"])-7), (int(T[room][par][i]["node_pos_x"])-7,-int(T[room][par][i]["node_pos_y"])+7), (int(T[room][par][i]["node_pos_x"])+7,-int(T[room][par][i]["node_pos_y"])+7)], FillColor='cyan') self.Canvas.AddObject(poly1) # Drawing and highlighting the unused area if room == "Blank_Area": points = [(int(T[room]['x1']),-int(T[room]['y1'])), (int(T[room]['x2']),-int(T[room]['y2'])), (int(T[room]['x3']),-int(T[room]['y3'])), (int(T[room]['x4']),-int(T[room]['y4'])), (int(T[room]['x5']),-int(T[room]['y5'])), (int(T[room]['x6']),-int(T[room]['y6'])), (int(T[room]['x7']),-int(T[room]['y7'])), (int(T[room]['x8']),-int(T[room]['y8'])), (int(T[room]['x9']),-int(T[room]['y9'])), (int(T[room]['x10']),-int(T[room]['y10'])), (int(T[room]['x11']),-int(T[room]['y11']))] blankarea = FloatCanvas.Polygon(points,LineWidth=4,LineColor='black',FillColor = "SKY BLUE" , FillStyle='Solid') self.Canvas.AddObject(blankarea) # Making edges for distances < 100 between two nodes for i in range (len(N)): for j in range (len(N)): dist = self.distance_calc(X[i],-Y[i],X[j],-Y[j]) if dist < 100: self.Canvas.AddObject(FloatCanvas.Line([(X[i],-Y[i]),(X[j],-Y[j])], LineColor = 'Black', LineStyle='Solid',LineWidth=1)) self.Canvas.Draw()
def OnClickLeft(self, event): with open('testjson.json', 'r') as file1: T = json.load(file1) for room, dim in T.items(): for par, dim1 in dim.items(): if par == "topright_pos_y": xx = int(T[room]["topright_pos_x"]) y1 = int(T[room]["topright_pos_y"]) yy = 0 - y1 ll = int(T[room]["length"]) bb = int(T[room]["breadth"]) drline1 = FloatCanvas.Line([(xx, yy), (xx + ll, yy)], LineWidth=4, LineColor='black') self.Canvas.AddObject(drline1) self.Canvas.Draw() drline2 = FloatCanvas.Line([(xx, yy), (xx, yy - bb)], LineWidth=4, LineColor='black') self.Canvas.AddObject(drline2) self.Canvas.Draw() drline3 = FloatCanvas.Line([(xx + ll, yy), (xx + ll, yy - bb)], LineWidth=4, LineColor='black') self.Canvas.AddObject(drline3) self.Canvas.Draw() drline4 = FloatCanvas.Line([(xx, yy - bb), (xx + ll, yy - bb)], LineWidth=4, LineColor='black') self.Canvas.AddObject(drline4) self.Canvas.Draw() self.Canvas.Draw() if par == "nodes": for i in range(len(T[room]["nodes"])): for node_par, node_val in T[room][par][i].items(): if T[room][par][i]["type"] == "s": cir = FloatCanvas.Circle([ int(T[room][par][i]["node_pos_x"]), 0 - int(T[room][par][i]["node_pos_y"]) ], 7, FillColor='red') self.Canvas.AddObject(cir) if T[room][par][i]["type"] == "p": rect = FloatCanvas.Rectangle([ int(T[room][par][i]["node_pos_x"]), 0 - int(T[room][par][i]["node_pos_y"]) ], (8, 8), FillColor='blue') self.Canvas.AddObject(rect) if T[room][par][i]["type"] == "k": poly = FloatCanvas.Polygon( [(int(T[room][par][i]["node_pos_x"]) - 4, 0 - int(T[room][par][i]["node_pos_y"]) - 4), (int(T[room][par][i]["node_pos_x"]) + 4, 0 - int(T[room][par][i]["node_pos_y"]) - 4), (int(T[room][par][i]["node_pos_x"]) + 4, 0 - int(T[room][par][i]["node_pos_y"]) + 4), (int(T[room][par][i]["node_pos_x"]) - 4, 0 - int(T[room][par][i]["node_pos_y"]) + 4)], FillColor='yellow') self.Canvas.AddObject(poly) if T[room][par][i]["type"] == "r": poly1 = FloatCanvas.Polygon( [(int(T[room][par][i]["node_pos_x"]), 0 - int(T[room][par][i]["node_pos_y"]) - 7), (int(T[room][par][i]["node_pos_x"]) - 7, 0 - int(T[room][par][i]["node_pos_y"]) + 7), (int(T[room][par][i]["node_pos_x"]) + 7, 0 - int(T[room][par][i]["node_pos_y"]) + 7)], FillColor='cyan') self.Canvas.AddObject(poly1) self.Canvas.Draw() if room == "Blank_Area": points = [(int(T[room]['x1']), 0 - int(T[room]['y1'])), (int(T[room]['x2']), 0 - int(T[room]['y2'])), (int(T[room]['x3']), 0 - int(T[room]['y3'])), (int(T[room]['x4']), 0 - int(T[room]['y4'])), (int(T[room]['x5']), 0 - int(T[room]['y5'])), (int(T[room]['x6']), 0 - int(T[room]['y6'])), (int(T[room]['x7']), 0 - int(T[room]['y7'])), (int(T[room]['x8']), 0 - int(T[room]['y8'])), (int(T[room]['x9']), 0 - int(T[room]['y9'])), (int(T[room]['x10']), 0 - int(T[room]['y10'])), (int(T[room]['x11']), 0 - int(T[room]['y11']))] blankarea = FloatCanvas.Polygon(points, LineWidth=4, LineColor='black', FillColor="SKY BLUE", FillStyle='Solid') self.Canvas.AddObject(blankarea) self.Canvas.Draw()