ó ur™Vc@s dZdefd„ƒYZdS(sQ Class for specifying an area of the screen (essentially, a glorified rectangle) t WindowAreacBs‰eZdZd d d d d d d„Zd„Zd„Zd„Zd„Ze eeƒZ e eeƒZ d„Z d d„Z d „ZRS( s-Small class to describe an curses window areacCs:||_||_||_||_||_||_dS(s¼Attributes: lines -> height columns -> width y_loc -> START y location x_loc -> START x location scrollable_lines -> Size of the vertical scroll area of this WindowArea. This attribute is only relevant for ScrollWindows scrollable_columns -> Size of the horizontal scroll area of this WindowArea. This attribute is only relevant for ScrollWindows N(tlinestcolumnsty_loctx_loct_scrollable_linest_scrollable_columns(tselfRRRRtscrollable_linestscrollable_columns((swindow_area.pyt__init__!s      cCs ||_dS(s Setter for self.scrollable_linesN(R(RR((swindow_area.pytset_scrollable_lines7scCs!|jdk r|jS|jSdS(s Getter for self.scrollable_linesN(RtNoneR(R((swindow_area.pytget_scrollable_lines;scCs ||_dS(s"Setter for self.scrollable_columnsN(R(RR ((swindow_area.pytset_scrollable_columnsBscCs!|jdk r|jS|jSdS(s"Getter for self.scrollable_columnsN(RR R(R((swindow_area.pytget_scrollable_columnsFscCs2d}||j|j|j|j|j|jfS(NsTlines=%s, columns=%s, y_loc=%s, x_loc=%s, scrollable_lines=%s, scrollable_columns=%s(RRRRRR (Rtresult((swindow_area.pyt__str__QsicCsF|jƒ}|j|d|d7_|j|d|d7_dS(søTranslate coordinates from window relative to absolute This function will translate coordinates from being relative to the passed in curses.window, to being absolute coordinates (based against the entire terminal) iiN(tgetbegyxRR(Rtwindowtbordert start_coords((swindow_area.pytrelative_to_absoluteWs cCs6|jƒ}|j|d8_|j|d8_dS(sËTranslate coordinates from absolute to window relative This function translates absolute coordinates (based on entire terminal) to coordinates relative to the passed in window. iiN(RRR(RRR((swindow_area.pytabsolute_to_relativecs N(ii(t__name__t __module__t__doc__R R R R RRtpropertyRR RRR(((swindow_area.pyRs        N(RtobjectR(((swindow_area.pyts