Overview
ISO/IEC 15852:1999 - M Windowing API (MWAPI) defines a windowing application programming interface that extends the M programming technology with capabilities for developing and operating graphical user interface (GUI) applications. The standard treats an application as one or more M routines using MWAPI features and a user as a person interacting with such applications. It provides a formal, language-level specification for displays, windows, elements, events and drawing services available to M-based programs.
Key topics and technical requirements
The standard organizes its technical content into clearly defined sections that address API behavior, attribute semantics and drawing primitives. Major technical topics include:
- Displays and display attributes - color, color type, platform, units, spectrum, size and clipboard handling.
- Window model - window types, window components, repainting rules, parent/child relationships and window attributes such as TITLE, ICON, POS, SIZE, VISIBLE, MODAL and RESIZE.
- Elements and gadgets - standard GUI controls (labels, text, list boxes, push buttons, radio sets, check boxes, scrolls), menus, timers and choice constructs.
- Attributes and value domains - detailed attribute definitions, value domains for strings, colors, fonts, identifiers, positions/units, modality, scrolling and focus.
- Events and input - event attributes, keyboard and pointer button codes, focus location and event delivery semantics.
- Drawing and graphics commands - low-level draw commands (ARC, BOX, OVAL, LINE, BITMAP, DRAWTEXT, PEN/PENSIZE, FILLPAT, FONT settings) and drawing characteristics.
- Resource referencing - management of external resources such as fonts and bitmaps, and identifiers for UI components.
- Normative references and implementation notes - how MWAPI elements relate to the execution environment and implementation/application attributes.
Applications and who uses it
ISO/IEC 15852:1999 is useful to:
- Developers and architects building GUI front ends for applications that use the M programming technology and require standardized windowing behavior.
- Tool and middleware vendors implementing MWAPI-compliant runtime libraries or GUI toolkits for M environments.
- System integrators and maintainers modernizing or extending legacy M-based systems where consistent UI semantics, events and drawing operations are required.
- QA and standards engineers ensuring cross-platform consistency of M-based GUIs through compliance testing against attribute and drawing specifications.
Practical applications include creating interactive control panels, form-based data entry, menus and graphical visualizations for any software product that relies on M language runtimes.
Related standards
The document references normative references and environment relations (see section on Relation to Environment). Implementers should consult other ISO/IEC standards relevant to the target platform and M runtime environment for interoperability and font/display encoding guidance.
Keywords: ISO/IEC 15852:1999, M Windowing API, MWAPI, M programming technology, GUI API, windowing standard, drawing commands, UI attributes, display attributes.