============================================================================== FOR MORE INFORMATION - METAGRAPHICS CORPORATION Phone: 425-844-1110 PO Box 225 Fax: 425-844-1112 Woodinville, WA 98072 Email: sales@metagraphics.com U.S.A. Web: http://www.metagraphics.com -------------------------------------------------------------------------- A wealth of information on Metagraphics products, demonstrations and sample programs is available via Metagraphics Internet Web site at: http://www.metagraphics.com ============================================================================== METAGRAPHICS MetaWINDOW VERSION 4 & 5 PRODUCT DESCRIPTION MetaWINDOW - Graphic Tools That Give You More... More Power ... More Speed ... More Support ... More Quality ... ALL PRODUCTS ROYALTY-FREE * NO POP-UP'S * NO TSR's MetaWINDOW is a high performance graphic programming toolkit that combines speed, functionality, quality and support into an integrated graphics development system. Designed for programmers developing DOS real-mode, 286 protected-mode or 386 protected-mode applications, MetaWINDOW provides a powerful suite of drawing functions, top-rated performance, and direct runtime support for virtually every popular display adaptor and SuperVGA available. Using MetaWINDOW you can turn the promise and power of PC computer graphics into reality. MetaWINDOW-DOS Advanced graphics toolkit for DOS real-mode MetaWINDOW-286 Advanced graphics toolkit for DOS real-mode and 286 protected-mode. MetaWINDOW-386 Graphics toolkit for DOS real-mode, plus 286 & 386 protected-mode. MetACCEL (real-mode, plus 286 & 386 protected-mode) MetaWINDOW dynamic link drivers for hardware accelerated SuperVGA's. MetHICOLOR (real-mode, plus 286 & 386 protected-mode) MetaWINDOW dynamic link drivers for 16 bit-per-pixel, 64K-color SuperVGA modes. PCXLab (real-mode, plus 286 & 386 protected-mode) Add support for PCX Image files and Intel DCX image file libraries. FontWINDOW Graphical bitmap font editor plus over 200 fonts FontBUILDER Bitmap font generator, includes 20 scaleable outline fonts. Converts PostScript and TrueType fonts for use with MetaWINDOW. See order form ORDERP.TXT for special promotional pricing offers. Full MetaWINDOW source code is also available (see ORDERP.TXT for source code pricing. Source code versions require Borland TASM or Microsoft MASM version 5 to reassemble). Full 30 day guarantee for binary libraries only. Source code versions are non-returnable once the source code diskette envelope has been opened. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FEATURE COMPARISONS TGS Fastgraph V1.0 | Microsoft C/C++ V7.0 | | | Halo Professional V2.1 | | | | | Genus GX Graphics V2.0 | | | | | | | Flash Graphics V11/92 | | | | | | | | | Essential Graphics V4.0 | | | | | | | | | | | Borland BGI C/C++ V3.1 | | | | | | | | | | | | | MORE POWER! Metagraphics MetaWINDOW | | | | | | | | | | | | | | | Lines, ovals, arcs, rects, polygons X X (3) X X X X (3) Seed & boundary flood fills X X X X X X X X Bitmap text fonts X X X X (3) X X (1) Scalable vector text X X . . (1) X . . Dynamic text facing (bold,italic,etc) X . . . (1) . . . Device & world coordinates X . X . X X . (3) Multi-width wide lines X (3) . . X . . . Offscreen memory, EMS, XMS & disk bitmaps X . . . X X . (3) BitBlit bitmap transfers X X . X X X . X Quick local memory image save/restore X . . . X . . X Keyboard, timer & mouse event control X . . . X . . . Automatic cursor tracking X . . . X . . . User-defined cursors X . . . X X . X HP Laserjet & dot-matrix hardcopy X . X . (1) X . . Maximum line dash length (pixels) (2) 16 16 16 16 (2) 16 16 Number of standard rasterOps 16 2 2 2 4 2 5 2 Number of transparent rasterOps 16 0 0 0 1 0 0 1 Zoom and scale images to any size X . . . . . . . Bezier curves and fills X . . . . . . . Region computation and drawing functions X . . . . . . . Object collision and hit detection X . . . . . . . Rounded-corner rectangles X . . . . . . . Multiple windows/virtual screens X . . . . . . . Object-oriented programming API X . . . . . . . "Pixel perfect" clipping retraceability X . . . . . . . Region clipping to irregular shaped areas X . . . . . . . Precision edge meshing X . . . . . . . Convert screen image formats X . . . . . . . Multi-color fill patterns X . . . . . . . Thin line end-caps (notFirst/notLast) X . . . . . . . Selected object detection X . . . . . . . Marker plotting functions X . . . . . . . Pattern alignment X . . . . . . . Polygon fill rules (oddEven/winding) X . . . . . . . "On/Off" and "double" dashed lines X . . . . . . . Optimized convex polygon fills X . . . . . . . Fill patterns up to 32x32 in size X . . . . . . . Colored cursors up to 32x32 in size X . . . . . . . International character fonts X . . . . . . . Borland compatible BGI interface X . . . . . . . PostScript/X-Window style pen shapes X . . . . . . . PostScript/X-Window style line joins X . . . . . . . PostScript/X-Window style line caps X . . . . . . . Hercules, CGA, EGA, VGA X X X X X X X X VESA SuperVGA up to 1280x1024 X . (3) (3) (3) (3) X (3) Direct SuperVGA chipset support X . (3) (3) (3) (3) . (3) SuperVGA 800x600 16/256-color X . X X X X X X SuperVGA 1024x768 256-color X . X X X X X X SuperVGA 1024x768 16-color X . . . . . X . with MetACCEL-(1) | IBM 8514A - ATI Graphics Ultra X X . . . X . . Hardware-accelerated SuperVGA's X . . . . . . . with MetHICOLOR-(1) | 16-bit/pixel 64,000-color SuperVGA modes X . . . X X . . with PCXLab-(1) | Read and write PCX image files X . . . (1) . . X Read/write Intel DCX image file libraries X . . . . . . . NOTES - Feature comparisons based on current product releases available January 1, 1994. (1) Additional cost option. (2) Virtually unlimited (up to 65536 pixels per dash segement, up to 65536 segments per dash sequence. (3) Limited support - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PERFORMANCE COMPARISONS 16-COLOR SuperVGA MORE SPEED! Performance Index 0 1 2 3 4 5 6 7 8 9 10 ------------------------------------------------- | | | | | | | | | | | MetaWINDOW V4.4 |10.0=============================================> | | | | | | | | | | | MetaWINDOW w/MetACCEL |55!===========================================//===>55! | | | | | | | | | | | Borland C/C++ V3.1 |3.1============> | | | | | | | | | | | | | | | | | | Essential Graphics 4 |.7> | | | | | | | | | | | | | | | | | | | | | Flash Graphics 11/92 |.9=>| | | | | | | | | | | | | | | | | | | | | Genus GX V2.01 |3.3=============> | | | | | | | | | | | | | | | | | | Halo Professional 2.1 |1.5====> | | | | | | | | | | | | | | | | | | | | Microsoft C/C++ V7.0 |.9=>| | | | | | | | | | | | | | | | | | | | | ------------------------------------------------- <- slower ------------------------------- faster -> 256-COLOR SuperVGA MORE SPEED! Performance Index 0 1 2 3 4 5 6 7 8 9 10 -------------------------------------------------- | | | | | | | | | | | MetaWINDOW V4.4 |10.0=============================================> | | | | | | | | | | | MetaWINDOW w/MetACCEL |55!===========================================//===>55! | | | | | | | | | | | Borland C/C++ V3.1 |(*) | | | | | | | | | | | | | | | | | | | | | Essent'l Graphics 4.0 |1.3===> | | | | | | | | | | | | | | | | | | | | Flash Graphics V11/92 |1.0=> | | | | | | | | | | | | | | | | | | | | Genus GX V2.01 |3.1============> | | | | | | | | | | | | | | | | | | Halo Professional 2.1 |2.0======> | | | | | | | | | | | | | | | | | | | Microsoft C/C++ V7.0 |2.0======> | | | | | | | | | | | | | | | | | | | ------------------------------------------------- <- slower ------------------------------- faster -> (*) Borland does not support 256-color SuperVGA. NOTES - Feature comparisons based on current product releases available July 1, 1993. Benchmark report, executables and source code can be downloaded from Metagraphics web site see: benchrpt.txt - http://www.metagraphics.com/metawindow/info/benchrpt.txt (6k) Metagraphics Benchmark Report (5/93) summarizing test results with MetaWINDOW, Essential Graphics, Flash Graphics, Genus GX, Halo, Microsoft CGI and Borland BGI. benchexe.zip - http://www.metagraphics.com/metawindow/info/benchexe.zip (196k) Executable programs for Metagraphics Benchmark Report (above). benchsrc.zip - http://www.metagraphics.com/metawindow/info/benchsrc.zip (25k) Source code to programs for Metagraphics Benchmark Report (above). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MetaWINDOW ROYALTY-FREE - NO TSR's - NO POP-UPS MetaWINDOW-DOS (real-mode) MetaWINDOW-286 (real-mode and 286 protected-mode) MetaWINDOW-386 (real-mode, plus 286 & 386 protected-mode) MetaWINDOW is a high performance graphic programming toolkit that combines speed, functionality, quality and support into an integrated graphics development system. Designed for PC programmers developing DOS real-mode, 286 protected-mode or 386 protected-mode applications, MetaWINDOW provides a powerful suite of drawing functions, top-rated performance, and direct runtime support for virtually every popular display adaptor and SuperVGA available. MetaWINDOW DOS real-mode and 286 protected-mode applications are fully DPMI compliant, and can be icon-launched and run from Microsoft Windows! Optimized in tight assembly language code, MetaWINDOW provides a full set of graphic primitive for: points, lines, squares, rectangles, circles, ovals, arcs, wedges, polygons, bitmap text, plus seed and boundary fills. Enhanced features include: rounded-corner rectangles, advanced object detection, scaleable text, dynamic font facing, image scaling, fill rules, dash styles, line cap styles, full standard and transparent rasterOps, plus user-definable multi-colored patterns up to 32x32 pixels in size. MetaWINDOW fully supports drawing to virtual bitmaps in either conventional, EMS, XMS or virtual disk-cached memory. You can also define multiple independent windows, process mouse/timer/keyboard events, and print graphics to popular laser and dot-matrix printers. Advanced features include: region clipping, PostScript style pens and lines, colored cursors (up to 32x32 pixels in size), and more. MetaWINDOW supports over 80 graphics modes from HGA to SuperVGA and VESA up to 1280x1024. You can also expand display support with MetACCEL and MetHICOLOR options. Plus, MetaWINDOW benchmarks an average 2 to 10+ times faster than other PC graphics toolkits on the market, and is 15 to 55(!) times faster with MetACCEL driving a hardware accelerated SuperVGA (see "More Speed" above)! MetaWINDOW comes with a 400 page softcover manual and direct link libraries for use with popular real-mode compilers. MetaWINDOW-286 includes both DOS real-mode and 286 protected-mode libraries. MetaWINDOW-386 includes DOS real-mode, plus 286 and 386 protected-mode libraries. MetaWINDOW-DOS supports popular real-mode compilers including: Borland C++, versions 3.0, 3.1, 4.0 Borland Turbo C++, versions 3.0, 3.1 Borland Assembler, version 3 Borland Turbo Pascal, versions 6.0, 7.0 (direct link TPU's, no TSR's!) Metaware C++ Microsoft Assembler, versions 5.x, 6.x Microsoft C/C++, versions 5.1, 6.0, 7.0 Microsoft Quick C, version 2.0 Microsoft Visual C++, Version 1.0 TopSpeed C/C++, version 3.0 Watcom C/C++, version 9.0 Zortech C++, version 3.0 MetaWINDOW-286 supports DOS real-mode compilers listed above, plus 286 protected-mode environments including: Blinker 286 DPMI DOS-Extender Borland C/C++, versions 2.0, 3.0, 3.1, 4.0 Microsoft C/C++, versions 6.0, 7.0 Microsoft Visual C++, versions 1.0, 2.0 Borland/Turbo Pascal 286 DPMI DOS-Extender Borland/Turbo Pascal, version 7.0 (direct link TPU's, no TSR's!) Borland PowerPack 286 DPMI DOS-Extender Borland C/C++, version 4.0 Phar Lap 286 DOS-Extender Borland C/C++, versions 2.0, 3.0, 3.1, 4.0 Microsoft C/C++, versions 6.0, 7.0 Microsoft Visual C++, versions 1.0, 2.0 Rational Systems DOS/16M 286 DOS-Extender Borland C/C++, versions 2.0, 3.0, 3.1, 4.0 Microsoft C/C++, versions 6.0, 7.0 Microsoft Visual C++, versions 1.0, 2.0 Zortech C++, version 3.0 MetaWINDOW-386 supports DOS real-mode and 286 protected-mode compilers listed above, plus 386 protected-mode environments including: Borland PowerPack 386 DPMI DOS-Extender Borland C/C++, version 4.0 and later Phar Lap 386 TNT DOS-Extender Borland C/C++, version 4.0 and later Metaware C++ 386, version 3.0 Microsoft Visual C++/32, versions 1.0, 2.0 Watcom C 386, version 9.0 Rational Systems DOS/4G 386 DOS-Extender Metaware C++ 386, version 3.0 Watcom C 386, version 9.0 Watcom 4GW 386 DOS-Extender Watcom C 386, version 9.0, 10.0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MetACCEL (real-mode, plus 286 & 386 protected-mode) Add support for hardware accelerated-SuperVGA's No TSR's, No Pop-ups and No Royalties MetACCEL provides a set of enhanced graphic display drivers for use with MetaWINDOW graphic libraries. MetACCEL adds expanded support for hardware-accelerated SuperVGA's such the: Orchid Fahrenheit-1280, Diamond Stealth, Actrix Graphics Engine, plus IBM 8514, ATI Graphics Ultra, and others. MetACCEL with a hardware accelerated card boosts graphics performance more than 5 to 15 times over the speed of standard software programmed SuperVGA's. MetACCEL includes libraries for DOS, plus both 286 and 386 protected-mode. MetACCEL works with compilers and DOS extenders compatible with MetaWINDOW for DOS, 286 and 386 (see above). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MetHICOLOR (real-mode, plus 286 & 386 protected-mode) Add support for 64K-color SuperVGA display modes No TSR's, No Pop-ups and No Royalties MetHICOLOR provides an expanded set of 16-bit per pixel display drivers for use with new "hi-color" SuperVGA cards and MetaWINDOW graphics programming libraries. MetHICOLOR allos you to create graphics applications with near photorealistic images of up to 65,536 displayable colors. Optimized entirely in assembly language for tight fast code, MetHICOLOR provides the ultimate in hi-color graphics performance. MetHICOLOR includes libraries for DOS, plus both 286 and 386 protected-mode. MetHICOLOR works with compilers and DOS extenders compatible with MetaWINDOW for DOS, 286 and 386 (see above). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PCXLab (real-mode, plus 286 & 386 protected-mode) Add support for PCX image files and Intel DCX image file libraries. No TSR's, No Pop-ups and No Royalties Metagraphics PCXLab provides an expanded set of MetaWINDOW routines for working with PCX compressed image files and Intel DCX image file libraries. Optimized in tight assembly language code, PCXLab allows you to develop graphics applications that can: import/export and display PCX image files, import/export and display Intel DCX image file libraries, scroll and scale PCX/DCX images, access image header and palette information, read/write images to local memory buffers, output PCX/DCX images to popular laser and dot-matrix printers, and more. PCXLab supports popular monochrome, 16-color, 256-color and 64K-color PCX/DCX image file formats. PCXLab includes libraries for DOS, plus both 286 and 386 protected-mode. PCXLab comes with a 70 page soft cover book describing the PCX image file formats, Intel DCX file library format, and use of the PCXLab functions with MetaWINDOW. PCXLab works with compilers and DOS extenders compatible with MetaWINDOW for DOS, 286 and 386 (see above). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FontWINDOW Bitmap font editor, plus over 200 fonts No Font Royalties. FontWINDOW provides a bitmap font editor, plus over 2 megabytes of additional fonts for use with MetaWINDOW. FontWINDOW allows you to: create custom fonts or foreign language character sets; merge characters from different fonts to create a new font; create icons and animation fonts; or create new bold-faced, italicized or rotated font sets. FontWINDOW comes with over 200 additional bitmap font styles, and includes a 100 page soft cover book describing MetaWINDOW fonts and use of the font editor. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FontBUILDER Bitmap font generator, includes 20 scaleable outline fonts. No Font Royalties FontBUILDER is an advanced utility that processes scaleable outline fonts to create high-quality MetaWINDOW bitmap fonts at any size you specify. FontBUILDER includes over 20 outline typefaces in four font families (Times, Helvetica, Courier and Script), plus can import PostScript Type 1 and 3 fonts for conversion to bitmap fonts for use with MetaWINDOW graphic tool. Style facings include normal, bold, italic, thin, condensed, wide, expanded, hollow - and combinations thereof. Virtually no limitiation on font point sizes. Virtually unlimited font rasterization resolutions. ========================================================================== MetaWINDOW - Graphic Tools That Give You More... More Power ... More Speed ... More Support ... More Quality ... ALL PRODUCTS ROYALTY-FREE * NO POP-UP'S * NO TSR's > More Power MetaWINDOW provides all the capabilities of low level compiler and other graphic libraries, plus much more! Off-screen bitmaps, hardcopy output, user event-queue services, automatic cursor tracking and flexible bitmap text are standard features of all MetaWINDOW products. Enhanced versions add support for scalable vector text, selected object detection, rounded-corner rectangles, dynamic font facing, marker plotting, polyfill rules, dash styles, line caps and more. For high-end power applications, advanced versions of MetaWINDOW add expanded capabilities for arbitrary-shape region clipping, region computation and drawing, variable size fill patterns, enlarged colored cursors, PostScript style drawing pens, international fonts, plus even more. MetaWINDOW provides the most powerful series of graphics tools available for PC programmers. > More Speed Benchmarked as the fastest PC graphics toolkit in the world, MetaWINDOW defines the meaning of high performance graphics. Optimized totally in assembly language for fast, tight code, MetaWINDOW executes over 2 to 8 times faster than other PC graphic libraries. > More Support MetaWINDOW provides total direct support for virtually every mode of HGA, CGA, EGA, VGA and SuperVGA available up to 1280x1024 monochrome, 16-color and 256-color. Over 300+ graphic cards and display modes are supported directly by MetaWINDOW. MetaWINDOW tools also support full VESA standards, insuring compatibility with future graphics technology. Add-on MetACCEL and MetHICOLOR driver packages expand support for accelerated SuperVGA's (such as the Orchid Fahrenheit-1280, Diamond Stealth, ATI Graphics Ultra and IBM 8514A), and 64K-color "hi-color" SuperVGA modes. > More Quality MetaWINDOW provides uncompromising pixel perfect drawing quality and accuracy fully retraceable drawing and clipping of all graphic elements and text, plus perfect alignment and edge meshing of all objects. MetaWINDOW real-mode and 286 protected-mode applications can also be launched and run from Microsoft Windows. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MORE SPEED MetaWINDOW benchmarks as the fastest PC graphics toolkit in the world! Optimized totally in assembly language, MetaWINDOW performs highly complex graphics operations quickly and easily. This unsurpassed power and speed has made MetaWINDOW the professional choice for performance demanding applications. MetACCEL provides even faster support for accelerated SuperVGA cards such as the Fahrenheit-1280 and Diamond Stealth, plus IBM 8514/A and ATI Graphics Ultra cards. MetaWINDOW's direct support for these high performance cards provides yet another quantum leap in performance. MetaWINDOW's unsurpassed performance and flexibility translates into major user benefits: Better Look and Feel The end-user "look and feel" of MetaWINDOW based applications is unrivaled. On-screen menus pop up instantly, cursor tracking moves flawlessly, paragraphs of text snap crisply on the screen, and drawing operations execute blindingly fast. Power-Applications MetaWINDOW applications perform 2 to 8 times as many drawing operations in the same time as other graphic libraries. From a practical standpoint, this means that your programs can do more, and that end-users can create and work with far more complex drawings before running into excessive drawing delays. Expanded Markets MetaWINDOW's ultra-quick performance "pushes the envelope" for PC systems on which your applications can run. What Microsoft Windows and other graphic libraries struggle with on a 386, MetaWINDOW runs lightning quick on even the slowest XT. MetaWINDOW's extraordinary speed dramatically expands the market opportunities for your programs. Quick Object-Oriented API MetaWINDOW tools are based on an object-oriented programming that reduces interface that provides quick, direct access to all levels of the graphics system. This interface design streamlines code efficiency and improves performance, while at the same time using less memory. Conventional MetaWINDOW Object- Procedural API Oriented Interface fillPat = GetFillPattern(); fillPat = thePort.pnPat; rasterOp = GetOp(); rasterOp = thePort.pnMode; foreColr = GetColor(); foreColr = thePort.pnColor; backColr = GetBkColor(); backColr = thePort.bkColor; dashStyl = GetLineStyle(); dashStyl = thePort.pnStyle; In the above example performing the same functions, MetaWINDOW's object-oriented design requires less than one-tenth the code and executes over 20 times faster than a typical procedural interface library. Fast Region Clipping MetaWINDOW provides advanced support for clipping and drawing to arbitrary-shaped "region" areas. Regions define areas that may be of any shape, contain holes, and even comprise multiple disconnected pieces. Without region clipping, overlapped windows or layered objects must be drawn in sequence from back to front - presenting the user with the most important information last. With region clipping, layered objects are drawn from front to rear. Not only does this display foreground information first, but since obscured objects are clipped and not drawn at all, overall drawing speed is blindingly fast! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MORE SUPPORT MetaWINDOW provide direct support for virtually every popular SuperVGA card and display mode available - monochrome, 16-color and 256-color - up to 1280x1024 resolution! Other graphic packages provide direct support for only a limited number of VGA chipsets or only selected display modes. Still others require users to load a VESA TSR driver to work with certain adaptors. MetaWINDOW provides total direct support for virtually every graphics card available - period! MetaWINDOW also supports a full range of graphic input devices including: mice, digitizers, touch screens and graphic tablets. Integrated hardcopy functions allow you to output graphics to a wide range of dot-matrix and laser printers. Accelerated & High-Color SuperVGA's MetACCEL add-on drivers expand support for hardware-accelerated" SuperVGA's such as the Fahrenheit-1280, Diamond Stealth, IBM 8514/A, ATI Graphics Ultra adaptors, and others. MetHICOLOR adds near photorealistic imaging with new 16-bit/pixel 64K-color "hi-color" SuperVGA's. Optimized entirely in tight assembly language code, MetACCEL and MetHICOLOR provide the ultimate in high performance graphics. New graphics hardware and support capabilities are added to MetaWINDOW on a continuing basis. See the MetaWINDOW Supported Systems list for a full summary of compilers, operating systems and graphics hardware currently supported. 286 & 386 Protected Mode MetaWINDOW-DOS/286 and MetaWINDOW-DOS/386 shatter the 640K memory barrier providing advanced support for 286 and 386 protected mode applications. These products execute entirely in protected mode eliminating time consuming real-mode switch delays. In protected mode, MetaWINDOW takes full advantage of the extended addressing, advanced instruction set and enlarged registers available for protected mode programs. Broad Third Party Support MetaWINDOW's power is also magnified by the largest contingent of third party accessory products of any PC graphics toolkit. A growing list of leading developers such as Accelerated Technology, Autumn Hill Software, Courseware Applications, Inmark Development, Island Systems, Magma Systems, Nanocomp Graphics, Oakland Group/Liant, Oxford Consulting, Ready Systems, WNDX and others offer a wide range of extended products which further expand MetaWINDOW's power and capabilities. Comprehensive Technical Support MetaWINDOW comes with a 400 page softcover book which includes extensive illustrations and examples for writing graphics programs. For additional help, comprehensive technical support is available via phone, fax, Metagraphics CompuServ forum, Metagraphics BBS or by electronic mail. Full Direct Support - plus VESA! VESA (Video Electronic Standards Association) has grown to become a de facto interface standard in an ever growing diversity of graphics display hardware and chipsets. Metagraphics, in fact, has been a pioneering VESA member since 1989 and helped in developing the VESA SVGA specification. VESA defines a basic software programming interface for working with a broad variety of VGA and SuperVGA graphic cards now available. But experience has shown VESA has certain limits. * "It seems that video card manufacturers really drag their feet when it comes to supporting VESA." "Worse, they implement it wrong." "I agree, the lack of proper VESA support from the card manufacturers is very frustrating." "Even when they do support VESA they take the liberty of twisting it so that it won't work!" VESA provides a specification. The compliance, thoroughness, accuracy and performance of any VESA driver is up to the supplier. And like any software, VESA drivers can range from "excellent" to "incomplete and buggy". To an end-user, a weak link in a VESA driver ends up reflecting in the application - end-users simply want things to work, not finger pointing. * "I've encountered many users who have SVGA cards but who do not have a VESA driver installed, so my program fails to recognize the card as VESA capable. I can detect the failure and exit gracefully, but I've had difficulty explaining that they need to install a driver before running the program." "In one case, the computer manufacturer told them that it was the program's fault for not properly supporting SuperVGA." Even when working VESA drivers are available, locating the correct one, then getting end-users to load a VESA TSR before running an application is problematic. Graphic cards and the related software become easily separated. And many users simply don't like the hassle of loading and unloading VESA TSR's. MetaWINDOW provides a complete solution by combining total direct runtime support for virtually every graphics card and chipset on the market, along with full VESA support! MetaWINDOW's comprehensive support does not require VESA drivers and insures superior compatibility, performance and ease of use for your application. But full VESA support is also always available whenever your program needs it. * Comments from developers on CompuServe graphics forums. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MORE QUALITY MetaWINDOW is widely known for its uncompromising attention to detail and "pixel perfect" drawing quality. Small, yet critical points, such as clipping retraceability and precise polygon edge meshing are details you don't have to worry about with MetaWINDOW. MetaWINDOW provides accurate and repeatable pixel placement for all drawing operations - no pixel shift variations when drawing clipped areas, and no misaligned pixel boundaries when drawing banded segments. Polygon edges are also drawn with precise exactness - with no pixel overlaps or gaps along common edges of adjacent objects. With MetaWINDOW, "close" doesn't count. MetaWINDOW's precision design stands up to the highest technical quality requirements. In addition to pixel perfect drawing, MetaWINDOW also provides an array of advanced quality features: - Clipping retraceability insures that clipped objects retrace exactly the same pixel sequences. - Edge meshing insures the edges of adjacent objects meet without pixel gaps or overlaps. - Thin-line end-caps eliminate end-point gaps when rubberbanding lines. - Polygon "fill rules" control of overlapping polygon areas are filled or left blank. - Objects can be filled with either solid-color, two-color patterns or full-color patterns. - Line dash styles control how dashed lines are drawn, 1-color or 2-color. - Wide lines can either be drawn with a square or round pen shape. - Line join styles control how the corners of connecting lines appear: mitered, rounded or beveled. Experience That Counts Metagraphics has been a pioneer in the PC graphics software industry for more than ten years since its founding in 1983. Today Metagraphics is a recognized leader in PC graphics with more commercial software products shipped using MetaWINDOW, than with any other graphics programming toolkit. MetaWINDOW technology has been licensed for use in major applications by virtually every major computer industry leader including: Altium Autodesk Borland International Britannica Software Cadam Compaq Computer Davidson Associates Great Plains Software Hewlett Packard IBM Ithaca Software Maxis National Instruments Polaroid Santa Cruz Operations Siemens Software Toolworks Sony Symantec/Peter Norton ... the list goes on! These companies, plus over a thousand more, are now shipping commercial applications based on MetaWINDOW. And now that MetaWINDOW is ROYALTY FREE, there's no reason for you not to use the best graphics toolkit available. Professional developers have tested the field demanding the best - and have found it with MetaWINDOW! Look Who's Talking About MetaWINDOW! "MetaWINDOW is written in hand optimized assembly code and is very fast. It is virtually bug free, and the manufacturer has been very responsive to questions. If you intend to do any graphics work at all, you must have this product." "A technological tour de force for fast PC graphics." "One high-powered piece of artillery." "Customer support is excellent. I've called Metagraphics several times and have gotten prompt, accurate help each time." "If you do any graphics programming in C, try Metagraphics' MetaWINDOW - you'll like it!" Turbo Technix / PC Tech Journal Jeff Duntemann, PC Techniques "MetaWINDOW provides a complete DOS solution for our cross platform graphic tools. Our WNDX software works with multiple high-end platforms including Microsoft Windows, Apple Macintosh, Unix X-Windows and OS/2. MetaWINDOW is the best graphics toolkit we've found. It provides the speed, power and support we need for running in DOS and 286/386 protected mode." Kevin Greenwood, WNDX Corporation "For serious developers who are ready for more than elementary graphics, MetaWINDOW offers an outstanding combination of power and performance. Incredible speed coupled with support for practically every video card available puts MetaWINDOW way ahead of the pack." Dave Herman, Island Systems "MetaWINDOW provides the graphics power of Macintosh, Windows and X-Windows for use with PC DOS. Drawing speed is easily five times faster than any other PC graphics environment, and it supports just about every graphics card available. MetaWINDOW is our first choice for graphics tools, and the ONLY choice for DOS." Tod Brannan, Oxford Consulting Group "MetaWINDOW's speed and broad display support makes Menuet applications shine!" Marv Luse, Autumn Hill Software "MetaWINDOW is a mature product with support for probably more graphics adaptors than anyone else on earth." William Gates, Midnight Engineering "MetaWINDOW is truly an exceptional graphics library. When used with .RT-Link you can build megabyte MetaWINDOW programs that run in standard 640K DOS." Byron Reese, PocketSoft Points To Consider In A Graphics Toolkit o Top rated drawing speed. o Professional drawing quality. o Full direct display support, plus VESA. o 286 & 386 protected-mode versions. o Builds Windows launchable real-mode and 286 protected-mode applications. o Versions for accelerated S3 & 8514A SuperVGA's. o Versions for 64,000-color SuperVGA's. o Tight, fast object-oriented API. o Versions with advanced power features. o Source code available, if needed. o Used in more major commercial applications than any other graphics toolkit. o Leading vendor with performance products for more than 10 years. ----------------------------------------------------------------------------- MetaWINDOW FUNCTION SUMMARY All MetaWINDOW graphic libraries include the following function set: System Initialization --------------------- QueryGraphics Auto detect graphics hardware configuration. FindBestDisplay Auto detect and select the best display mode. FindDisplayInfo Return information about selected display mode. FindUserDisplay Check command line for user-specified display mode. FindBestMouse Auto detect and select the best mouse/input device mode. InitGraphics Initialize the MetaWINDOW graphics system. StopGraphics Terminate graphics processing. MetaVersion Return MetaWINDOW version number. ScreenRect Return the screen bitmap limits. SetDisplay Select the visible graphics page. SetBitmap Select the writable graphics page. WaitRetrace Detect and/or wait for video vertical retrace timing RasterOp Set the rasterOp drawing mode (16 standard + 16 transparent). PlaneMask Inhibit writing to masked bitmap planes. Pen Attribute Functions ----------------------- PenColor Select the pen color. PenSize Set the pen size. PenPattern Select the pen pattern. PenDash Select dashed line style. PenNormal Reset to default pen attributes. HidePen Disable drawing operations. ShowPen Enable drawing operations. GetPenState Save the current pen attributes. SetPenState Restore the pen attributes. PenOffset Set the centered-dash offset. FillRule Select the polygon fill rule (winding/oddEven). DashStyle Select the dash style (OnOff/Double). PenCap Select the thin line end-cap style. PostScript Pen Attributes -------------------------- PenShape Select the pen shape (rectangle/square or oval/circle). PenCap Select the line end-cap style (flat/square/round). PenJoin Select the connected-line join style (round/bevel/miter). MiterLimit Set mitered-join limit angle. Background Style ---------------- BackPattern Set background pattern. BackColor Set background color. Point and Line Drawing Routines ------------------------------- MoveTo Move to (X,Y). LineTo Draw line to (X,Y). MoveRel Move relative (DX,DY). LineRel Draw line relative (DX,DY). PolyLine Draw connected multi-line sequence. PolySegment Draw disconnected multi-line sequence. SetPixel Set pixel with the current pen color. GetPixel Return color of pixel at (X,Y). Rectangle Drawing Routines -------------------------- FrameRect Draw rectangle outline. PaintRect Fill rectangle interior. EraseRect Erase rectangle interior. InvertRect Invert rectangle interior. FillRect Fill rectangle with specified pattern. Rounded-Corner Rectangle Drawing Routines ----------------------------------------- FrameRoundRect Draw rounded-rectangle outline. PaintRoundRect Fill rounded-rectangle interior. EraseRoundRect Erase rounded-rectangle interior. InvertRoundRect Invert rounded-rectangle interior. FillRoundRect Fill roundRect with specified pattern. Circle/Ellipse/Oval Drawing Routines ------------------------------------ FrameOval Draw oval outline. PaintOval Fill oval interior. EraseOval Erase oval interior. InvertOval Invert oval interior. FillOval Fill oval with specified pattern. Arc and Wedge Drawing Routines ------------------------------ FrameArc Draw arc outline. PaintArc Fill arc interior. EraseArc Erase arc interior. InvertArc Invert arc interior. FillArc Fill arc with specified pattern. Polygon Drawing Routines ------------------------ FramePoly Draw polygon outline. PaintPoly Fill polygon interior(s). ErasePoly Erase polygon interior(s). InvertPoly Invert polygon interior(s). FillPoly Fill polygon(s) with specified pattern. FillPolygon Optimized fill for convex, non-convex and complex polygons. Bezier Curve Drawing and Fill Routines -------------------------------------- FrameBezier Draw Bezier outline. PaintBezier Fill Bezier interior(s). EraseBezier Erase Bezier interior(s). InvertBezier Invert Bezier interior(s). FillBezier Fill Bezier(s) with specified pattern. PolyBezier Draw series of Bezier curves. Marker Drawing Routines ----------------------- MarkerType Set marker style. MarkerSize Set marker size. MarkerAngle Set marker angle. PolyMarker Draw marker(s). Text Drawing Procedures ----------------------- DrawChar Draw character. DrawString Draw string. DrawText Draw text substring. CharWidth Return character width. StringWidth Return string width. TextWidth Return text substring width. Text Drawing Procedures - International Fonts (16-bit coded characters) --------------------------------------------- DrawChar16 Draw coded character. DrawString16 Draw coded string. DrawText16 Draw coded text substring. CharWidth16 Return coded character width. StringWidth16 Return coded string width. TextWidth16 Return coded text substring width. Font Attribute Functions -------------------------- SetFont Make a font the current drawing font. TextAlign Set text horizontal/vertical alignment. TextFace Set font facing (bold, italic, underline,strikeout,etc.). TextUnder Set text underline distance. TextScore Set text underline scoring. TextPath Set text path angle. TextExtra Set character justification spacing. TextSpace Set space justification spacing. TextAngle Set text rotation angle. TextSize Set text size. TextSlant Set text slant angle. Image Drawing Routines ---------------------- ImageSize Calculate image buffer requirements. ReadImage Read bitmap into an image buffer. WriteImage Write image buffer to bitmap. XlateImage Translate image buffer to a new bitmap format. Point "In" Object Detection -------------------------- PtInRect Return true if point is inside a rectangle. PtInOval Return true if point is inside an oval. PtInArc Return true if point is inside an arc. PtInRoundRect Return true if point is inside a roundRect. PtInPoly Return true if point is inside a polygon. PtInFlood Return true if point is inside a flood-fill area. PtInBoundary Return true if point is inside a boundary-fill area. PtInRegion Return true if point is inside a region. Point "On" Object Detection -------------------------- PtOnLine Return true if point is on a line. PtOnPolyLine Return true if point is on a polyline. PtOnRect Determine if point is on the edge of a rectangle. PtOnOval Determine if point is on the edge of an oval. PtOnArc Determine if point is on the edge of an arc. PtOnRoundRect Determine if point is on the edge of a roundRect. PtOnPoly Determine if point is on the edge of a polygon. Graphic Inquiries ----------------- QueryPosn Return current (X,Y) position. QueryX Return current X position. QueryY Return current Y position. QueryRes Return pixel resolution (X & Y pixels/inch). QueryError Return MetaWINDOW error status. Custom Styles and Patterns -------------------------- AlignPattern Set pattern alignment. DefinePattern Define a custom multi-color fill pattern. DefineDash Define a custom line dash style (up to 256 pixel lengths). Color Graphics -------------- QueryColors Return maximum display colors. SetPalette Select color palette. ReadPalette Read color palette. WritePalette Load color palette. BorderColor Sets the color of the screen overscan area. FindClosestRGB Find palette index closest matching a given RGB color. Operations with Bitmaps ----------------------- CreateBitmap Create an offscreen memory, EMS XMS or disk-cached virtual bitmap. DestroyBitmap Release an offscreen memory, EMS XMS or disk-cached virtual bitmap. InitBitmap Initialize a display, local-memory, EMS, XMS or disk-cached virtual bitmap. CloseBitmap Release a display, local-memory, EMS, XMS or disk-cached virtual bitmap. PortBitmap Assign bitmap to the current port. CopyBlit Copy an image between two bitmaps. ScrollRect Move an image to a new position on the same bitmap. CursorBitmap Set active bitmap for cursor tracking. ZoomBlit Copy a scaled image between two bitmaps. Operations with Ports & Windows ------------------------------- InitPort Initialize a new port/window. GetPort Return pointer to the current port. SetPort Make specified port the current port. PortSize Set the port size. MovePortTo Set the port location. SetOrigin Set the local port coordinate origin. PortOrigin Set the origin orientation (upperleft/lowerleft). VirtualRect Set the port's virtual coordinate limits. SetLocal Set port to local coordinates. SetVirtual Set port to virtual coordinates. ClipRect Set the port clipping rectangle. ClipRegion Set clipping to an irregular shaped region. Operations with Regions ----------------------- OpenRegion Open to create a new region from drawing calls. CloseRegion Closes OpenRegion() drawing calls. DupRegion Creates a duplicate of an existing region. RectRegion Creates a rectangle shaped region. RectListToRegion Converts a list of rectangles to a region. IntersectRegion Creates a region that is the intersection of two regions. SubtractRegion Creates a region that is the area of one region with a second region subtracted from it. UnionRegion Creates a region that is the combination of two regions. XorRegion Creates a region that is the area of one region or other, but not both. BitmapToRegion Create a region from a transparent color bitmap Calculations and Tests with Regions ----------------------------------- EmptyRegion Determine if a region is a NULL region with no area NullRegion Sets a region to an empty region. OffsetRegion Move the position of a region. PtInRegion Determines if a point is located within a region. RectInRegion Determines if a rectangle intersects a region. Drawing Functions with Regions ------------------------------ EraseRegion Fills a region with the current background pattern. FillRegion Fills a region with a specified pattern. InvertRegion Inverts the colors within a region. PaintRegion Fills a region using the current foreground pattern & rasterOp Clipping Operations with Regions -------------------------------- ClipRegion Set clipping to an irregular shaped region. Calculations with Points -------------------------- SetPt Copy X,Y to a point variable. DupPt Copy a point variable to another point variable. AddPt Add two point variables. SubPt Subtract two point variables. EqualPt Return true if two points are equal. ScalePt Scale a point variable. MapPt Translate and scale a point variable. OvalPt Return the point on oval at a specified angle. PtToAngle Return angle from oval center to a point. Calculations with Rectangles ---------------------------- SetRect Copy coordinates to a rectangle variable. DupRect Copy a rect variable to another rect variable. Pt2Rect Copy diagonal points to a rectangle variable. CenterRect Calculate a centered rectangle variable. OffsetRect Offset a rectangle variable. InsetRect Inset or outset a rectangle variable. InceptRect Return intersect rect of two rectangles. UnionRect Return union rect of two rectangles. EqualRect Return true if two rectangles are equal. ShiftRect Return voided rect(s) of a shifted rect move. MapRect Translate and scale a rectangle variable. Calculations with Polygons -------------------------- OffsetPoly Offset polygon coordinates. MapPoly Translate and scale polygon coordinates. Coordinate Transformations -------------------------- Gbl2LclPt Transform point, global to local. Gbl2VirPt Transform point, global to virtual. Lcl2GblPt Transform point, local to global. Lcl2VirPt Transform point, local to virtual. Vir2GblPt Transform point, virtual to global. Vir2LclPt Transform point, virtual to local. Gbl2LclRect Transform rectangle, global to local. Gbl2VirRect Transform rectangle, global to virtual. Lcl2GblRect Transform rectangle, local to global. Lcl2VirRect Transform rectangle, local to virtual. Vir2GblRect Transform rectangle, virtual to global. Vir2LclRect Transform rectangle, virtual to local. Mouse/Digitizer/TouchScreen/Tablet/Pen Tracking ----------------------------------------------- QueryMouse Locate mouse/locator input devices. InitMouse Initialize mouse/locator device tracking. StopMouse Terminate tracking. ReadMouse Read position and buttons. LimitMouse Set tracking limits. ScaleMouse Set tracking scale. Cursor Tracking Procedures -------------------------- DefineCursor Define cursor style (up to 32x32 pixels in size). CursorColor Select cursor colors. ShowCursor Display screen cursor. HideCursor Remove screen cursor. MoveCursor Move cursor to X,Y. CursorStyle Select cursor appearance. TrackCursor Enable asynchronous auto-cursor tracking. ProtectRect Define a cursor protected area. ProtectOff Disable cursor protected areas. QueryCursor Return cursor position and buttons. DefineCursor Define custom cursor style. Event Queue Processing Procedures --------------------------------- EventQueue Enable event queue processing. StopEvent Terminate event queue processing. KeyEvent Retrieve next queued event. PeekEvent Examine queued events. StoreEvent Store a program generated event. EventMask Select events to be stored into the event-queue. File I/O Procedures ------------------- FileQuery Retrieve file directory info. FileLoad Load a (font) file into memory. FileStore Write a file from memory. ResrcQuery Retrieve file directory info in MetaWINDOW paths. ResrcLoad Load a file in MetaWINDOW paths System Utilities ---------------- PushGrafix Push the graphics state. PopGrafix Pop the graphics state. HardCopy Output an area of a screen, local-memory, EMS, XMS or disk-cached virtual bitmap to a dot matrix printer, laser printer or disk file. /* End of File - MWINFO.TXT */