Showing changes from revision #6 to #7:
Added | Removed | Changed
The system-area is the part of a window that display icons (controls) that affect the position and display of a window. Each control is detailed below, with differences between the Select and Adjust mouse buttons.
Contains the name of the window, often referred to as the ‘window caption’ in other Operating Systems. Dragging the Title Bar causes the whole window to be moved. It is an icon. i.e it can have its own font type, alignment and colour settings.
If RISC OS is configured to display solid window dragging rather than just window outlines, then each mouse movement will generate one of these requests | |
Redraw_Window_Request | If RISC OS is configured to display solid window dragging rather than just window outlines, then each mouse movement will generate one of these requests after the Open_Window_Request |
Select | The window moves and is also brought to the top of the window stack |
Adjust | The window moves, but the window stack depth remains unchanged |
Used to generate a request for a window be closed. It is the responsibility of an application to decide how to respond to the event request.
Wimp_CloseWindow | If an application decides to close the window, then this SWI should be called |
Close_Window_Request | Wimp issues this event when the close icon has been clicked |
Redraw_Window_Request | Wimp issues this event when the window is closed, to all those windows which were obscured by it and are now visible |
Select | The window should close |
Adjust | The window should close, but also open up the parent window (if applicable) |
Used to send the window to the back of the window stack (across all applications). This makes it the least visible window within the Window Manager.
Redraw_Window_Request | Wimp issues the event when the window is sent to the back of the window stack, to all those windows which were obscured by it and are now visible |
Select | The window should go to the back of the window stack |
Adjust | Same as Select |
Used to toggle the window between its maximum size and the previous size used.
Wimp issues the event so that an application can update the work-area region of the resized window |
Select | Toggles the size of the window between the maximum and previous size used. The window stack also toggles between the front and its previous depth setting |
Adjust | Toggles the size of the window between the maximum and previous size used. The window stack depth remains unchanged |
Used to resize the window both horizontally and vertically (if permitted).
Open_Window_Request | Wimp can generate a continuous stream of these events while being resized or one single event at the end of the resize. This setting is on a per window basis |
Redraw_Window_Request | Wimp may issue these events if other windows ‘behind’ this window need updating due to the window resizing |
Select | Resizes the window and brings it to the front of the window stack |
Adjust | Resizes the window but the window stack depth remains unchanged |
Used to hide the window and place an icon on either the Pinboard or Icon bar that can be used to re-display the window if clicked.
Message_Iconize | Wimp issues this event when the Iconize icon has been clicked |
Select | Minimizes the window to either the Pinboard or Icon bar |
Adjust | Same as Select |
It is used to advance or ‘move’ the work-area in a vertical manner. Note: All scroll operations leave the window’s stack unchanged.
The vertical scroll bar is made up of five discrete elements, each with different methods of advancing the work-area. They are:
|<. Element|<. Vertical Advancement|
|<^. Scroll Up Arrow|<^. Offsets the window by 32 OS units|
|<^. Page Up Area (above the slider)|<^. Adjusts the Scroll offsets by the height of the visible work-area|
|<^. Slider|<^. Dragging the slider allow for accurate positioning of the work-area|
|<^. Page Down Area (below the slider)|<^. Adjusts the Scroll offsets by the height of the visible window work-area|
|<^. Scroll Down Arrow|<^. Offsets the window by 32 OS units|
Element | Vertical Advancement |
---|---|
Scroll Up Arrow | Offsets the window by 32 OS units |
Page Up Area (above the slider) | Adjusts the Scroll offsets by the height of the visible work-area |
Slider | Dragging the slider allow for accurate positioning of the work-area |
Page Down Area (below the slider) | Adjusts the Scroll offsets by the height of the visible window work-area |
Scroll Down Arrow | Offsets the window by 32 OS units |
Open_Window_Request | Wimp issues this event after each time the scroll bar has changed position so the work-area contents can be updated. This is the default setting for a window |
Scroll_Request | Wimp can generate a continuous stream of these events or a single event if either the Scroll Arrows or Page Area are clicked. The application can then decide how much to scroll. This setting is on a per window basis |
Wimp_OpenWindow | This SWI is used to update the contents of the window if the application has control over how much the work-area should be scrolled by. i.e using Scroll_Requests |
Select | Moves the work-area by 32 OS units in the appropriate direction |
Adjust | Moves the work-area by 32 OS units in the reverse direction |
Select | Moves the work-area by the height of the visible work area in appropriate direction |
Adjust | Moves the work-area by the height of the visible work-area in reverse direction |
Select | Allows accurate vertical positioning of the work-area |
Adjust | Allows accurate vertical and horizontal positioning of the work-area. Note: The horizontal Scroll bar must also be visible for this |
It is used to advance or ‘move’ the work-area in a horizontal manner. Note: All scroll operations leave the window’s stack unchanged.
The horizontal scroll bar is made up of five discrete elements, each with different methods of advancing the work-area. They are:
|<. Element|<. Horizontal Advancement|
|<^. Scroll Left Arrow|<^. Offsets the window by 32 OS units|
|<^. Page Left Area (above the slider)|<^. Adjusts the Scroll offsets by the width of the visible work area|
|<^. Slider|<^. Dragging the slider allow for accurate positioning of the work-area|
|<^. Page Right Area (below the slider)|<^. Adjusts the Scroll offsets by the width of the visible window work area|
|<^. Scroll Right Arrow|<^. Offsets the window by 32 OS units|
Element | Horizontal Advancement |
---|---|
Scroll Left Arrow | Offsets the window by 32 OS units |
Page Left Area (above the slider) | Adjusts the Scroll offsets by the width of the visible work area |
Slider | Dragging the slider allow for accurate positioning of the work-area |
Page Right Area (below the slider) | Adjusts the Scroll offsets by the width of the visible window work area |
Scroll Right Arrow | Offsets the window by 32 OS units |
Wimp issues this event after each time the scroll bar has changed position so the work area contents can be updated. This is the default setting for a window | |
Scroll_Request | Wimp can generate a continuous stream of these events or a single event if either the Scroll Arrows or Page Area are clicked. The application can then decide how much to scroll. This setting is on a per window basis |
Wimp_OpenWindow | This SWI is used to update the contents of the window if the application has control over how much the work-area should be scrolled by. i.e using Scroll_Requests |
Select | Moves the work-area by 32 OS units in the appropriate direction |
Adjust | Moves the work-area by 32 OS units in the reverse direction |
Select | Moves the work-area by the width of the visible work area in appropriate direction |
Adjust | Moves the work-area by the width of the visible work area in reverse direction |
Select | Allows accurate horizontal positioning of the work area |
Adjust | Allows accurate horizontal and horizontal positioning of the work area. Note: The horizontal Scroll bar must also be visible for this |
When a window is created, Window flags are used to determine which system-area controls should be displayed. To find out more about this see the Window Flags pages.