Operator Reference

get_window_extentsT_get_window_extentsGetWindowExtentsGetWindowExtentsget_window_extents (Operator)

get_window_extentsT_get_window_extentsGetWindowExtentsGetWindowExtentsget_window_extents — Information about a window's size and position.

Signature

get_window_extents( : : WindowHandle : Row, Column, Width, Height)

Herror T_get_window_extents(const Htuple WindowHandle, Htuple* Row, Htuple* Column, Htuple* Width, Htuple* Height)

void GetWindowExtents(const HTuple& WindowHandle, HTuple* Row, HTuple* Column, HTuple* Width, HTuple* Height)

void HWindow::GetWindowExtents(Hlong* Row, Hlong* Column, Hlong* Width, Hlong* Height) const

static void HOperatorSet.GetWindowExtents(HTuple windowHandle, out HTuple row, out HTuple column, out HTuple width, out HTuple height)

void HWindow.GetWindowExtents(out int row, out int column, out int width, out int height)

def get_window_extents(window_handle: HHandle) -> Tuple[int, int, int, int]

Description

get_window_extentsget_window_extentsGetWindowExtentsGetWindowExtentsget_window_extents returns the position of the upper left corner, as well as width and height of the output window.

Attention

Size and position of a window may be modified by the window manager, without explicit instruction in the program. Therefore the values which are returned by get_window_extentsget_window_extentsGetWindowExtentsGetWindowExtentsget_window_extents may change cause of side effects.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

WindowHandleWindowHandleWindowHandlewindowHandlewindow_handle (input_control)  window HWindow, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Window handle.

RowRowRowrowrow (output_control)  rectangle.origin.y HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Row index of upper left corner of the window.

ColumnColumnColumncolumncolumn (output_control)  rectangle.origin.x HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Column index of upper left corner of the window.

WidthWidthWidthwidthwidth (output_control)  rectangle.extent.x HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Window width.

HeightHeightHeightheightheight (output_control)  rectangle.extent.y HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Window height.

Example (HDevelop)

open_window(100,100,200,200,'root','visible','',WindowHandle)
fwrite_string(FileHandle, 'Move the window with the mouse!')
fnew_line(FileHandle)
repeat
get_mbutton(WindowHandle,_,_,Button)
get_window_extents(WindowHandle,Row,Column,Width,Height)
fwrite_string(FileHandle, ['(',Row,',',Column,')'])
fnew_line(FileHandle)
until(Button == 4)

Example (C)

open_window(100,100,200,200,"root","visible","",&WindowHandle);
fwrite_string(FileHandle,"Move the window with the mouse!");
fnew_line(FileHandle);
create_tuple(&String,1);
do
{
  get_mbutton(WindowHandle,NULL,NULL,&Button);
  get_window_extents(WindowHandle,&Row,&Column,&Width,&Height);
  sprintf(buf,"Row %d Col %d ",Row,Column);
  set_s(String,buf,0);
  T_fwrite_string(FileHandle, String);
  fnew_line(FileHandle);
}
while(Button < 4);

Example (HDevelop)

open_window(100,100,200,200,'root','visible','',WindowHandle)
fwrite_string(FileHandle, 'Move the window with the mouse!')
fnew_line(FileHandle)
repeat
get_mbutton(WindowHandle,_,_,Button)
get_window_extents(WindowHandle,Row,Column,Width,Height)
fwrite_string(FileHandle, ['(',Row,',',Column,')'])
fnew_line(FileHandle)
until(Button == 4)

Example (HDevelop)

open_window(100,100,200,200,'root','visible','',WindowHandle)
fwrite_string(FileHandle, 'Move the window with the mouse!')
fnew_line(FileHandle)
repeat
get_mbutton(WindowHandle,_,_,Button)
get_window_extents(WindowHandle,Row,Column,Width,Height)
fwrite_string(FileHandle, ['(',Row,',',Column,')'])
fnew_line(FileHandle)
until(Button == 4)

Result

If the window is valid get_window_extentsget_window_extentsGetWindowExtentsGetWindowExtentsget_window_extents returns 2 ( H_MSG_TRUE) . If necessary an exception is raised.

Possible Predecessors

open_windowopen_windowOpenWindowOpenWindowopen_window, set_drawset_drawSetDrawSetDrawset_draw, set_colorset_colorSetColorSetColorset_color, set_coloredset_coloredSetColoredSetColoredset_colored, set_line_widthset_line_widthSetLineWidthSetLineWidthset_line_width

See also

set_window_extentsset_window_extentsSetWindowExtentsSetWindowExtentsset_window_extents, open_windowopen_windowOpenWindowOpenWindowopen_window

Module

Foundation