Merge pull request #2528 from PySimpleGUI/Dev-latest
Graph.draw_polygon added
This commit is contained in:
commit
6fedd0e7d5
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
|
|
||||||
version = __version__ = "4.15.1.5 Unreleased - Fix for draw_pixel, fix Multline.update with no value specified, listbox update no longer selects a default, all justifications can be shortened to single letter, fix for debug window closed with Quit button, removed f-string"
|
version = __version__ = "4.15.1.5 Unreleased - Fix for draw_pixel, fix Multline.update with no value specified, listbox update no longer selects a default, all justifications can be shortened to single letter, fix for debug window closed with Quit button, removed f-string, draw_polygon added"
|
||||||
|
|
||||||
port = 'PySimpleGUI'
|
port = 'PySimpleGUI'
|
||||||
|
|
||||||
|
@ -3260,6 +3260,7 @@ class Graph(Element):
|
||||||
:param bottom_right: Union[Tuple[int, int], Tuple[float, float]] the bottom right point of rectangle
|
:param bottom_right: Union[Tuple[int, int], Tuple[float, float]] the bottom right point of rectangle
|
||||||
:param fill_color: (str) color of the interior
|
:param fill_color: (str) color of the interior
|
||||||
:param line_color: (str) color of outline
|
:param line_color: (str) color of outline
|
||||||
|
:param line_width: (int) width of the line in pixels
|
||||||
:return: Union[int, None] id returned from tkinter that you'll need if you want to manipulate the rectangle
|
:return: Union[int, None] id returned from tkinter that you'll need if you want to manipulate the rectangle
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -3279,6 +3280,31 @@ class Graph(Element):
|
||||||
id = None
|
id = None
|
||||||
return id
|
return id
|
||||||
|
|
||||||
|
|
||||||
|
def DrawPolygon(self, points, fill_color=None, line_color=None, line_width=None):
|
||||||
|
"""
|
||||||
|
Draw a rectangle given 2 points. Can control the line and fill colors
|
||||||
|
|
||||||
|
:param points: List[Union[Tuple[int, int], Tuple[float, float]]] list of points that define the polygon
|
||||||
|
:param fill_color: (str) color of the interior
|
||||||
|
:param line_color: (str) color of outline
|
||||||
|
:param line_width: (int) width of the line in pixels
|
||||||
|
:return: Union[int, None] id returned from tkinter that you'll need if you want to manipulate the rectangle
|
||||||
|
"""
|
||||||
|
|
||||||
|
converted_points = [self._convert_xy_to_canvas_xy(point[0], point[1]) for point in points]
|
||||||
|
if self._TKCanvas2 is None:
|
||||||
|
print('*** WARNING - The Graph element has not been finalized and cannot be drawn upon ***')
|
||||||
|
print('Call Window.Finalize() prior to this operation')
|
||||||
|
return None
|
||||||
|
try: # in case closed with X
|
||||||
|
id = self._TKCanvas2.create_polygon(converted_points, fill=fill_color, outline=line_color, width=line_width)
|
||||||
|
except:
|
||||||
|
id = None
|
||||||
|
return id
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def DrawText(self, text, location, color='black', font=None, angle=0, text_location=TEXT_LOCATION_CENTER):
|
def DrawText(self, text, location, color='black', font=None, angle=0, text_location=TEXT_LOCATION_CENTER):
|
||||||
"""
|
"""
|
||||||
Draw some text on your graph. This is how you label graph number lines for example
|
Draw some text on your graph. This is how you label graph number lines for example
|
||||||
|
@ -3567,6 +3593,7 @@ class Graph(Element):
|
||||||
draw_line = DrawLine
|
draw_line = DrawLine
|
||||||
draw_oval = DrawOval
|
draw_oval = DrawOval
|
||||||
draw_point = DrawPoint
|
draw_point = DrawPoint
|
||||||
|
draw_polygon = DrawPolygon
|
||||||
draw_rectangle = DrawRectangle
|
draw_rectangle = DrawRectangle
|
||||||
draw_text = DrawText
|
draw_text = DrawText
|
||||||
get_figures_at_location = GetFiguresAtLocation
|
get_figures_at_location = GetFiguresAtLocation
|
||||||
|
|
Loading…
Reference in New Issue