| |
| |
Preface | |
| |
| |
| |
Basic Techniques and Knowledge | |
| |
| |
| |
Basic Windows Programming in C/C++ | |
| |
| |
| |
Assembly Language | |
| |
| |
| |
Program Development Environment | |
| |
| |
| |
Win32 Executable File Format | |
| |
| |
| |
Architecture of Microsoft Windows OS | |
| |
| |
| |
Summary | |
| |
| |
| |
Windows Graphics System Architecture | |
| |
| |
| |
Windows Graphics System Components | |
| |
| |
| |
GDI Architecture | |
| |
| |
| |
DirectX Architecture | |
| |
| |
| |
Printing Architecture | |
| |
| |
| |
Graphics Engine | |
| |
| |
| |
Display Drivers | |
| |
| |
| |
Printer Drivers | |
| |
| |
| |
Summary | |
| |
| |
| |
GDI/DirectDraw Internal Data Structures | |
| |
| |
| |
Handles and Object-Oriented Programming | |
| |
| |
| |
Decoding GDI Object Handles | |
| |
| |
| |
Locating the GDI Object Handle Table | |
| |
| |
| |
Decoding the GDI Object Handle Table | |
| |
| |
| |
User Mode Data Structure of GDI Objects | |
| |
| |
| |
Accessing Kernel Mode Address Space | |
| |
| |
| |
WinDbg and the GDI Debugger Extension | |
| |
| |
| |
GDI Kernel Mode Data Structure | |
| |
| |
| |
DirectDraw Data Structure | |
| |
| |
| |
Summary | |
| |
| |
| |
Spying in the Windows Graphics System | |
| |
| |
| |
Spying on Win32 API Calls | |
| |
| |
| |
Spying on Win32 GDI | |
| |
| |
| |
Spying on DirectDraw COM Interfaces | |
| |
| |
| |
Spying on GDI System Calls | |
| |
| |
| |
Spying on the DDI Interface | |
| |
| |
| |
Summary | |
| |
| |
| |
Graphics Device Abstraction | |
| |
| |
| |
Modern Video Display Card | |
| |
| |
| |
Device Context | |
| |
| |
| |
Formalizing Device Context | |
| |
| |
| |
Sample Program: Generic Frame Window | |
| |
| |
| |
Sample Program: Painting and Device Context | |
| |
| |
| |
Summary | |
| |
| |
| |
Coordinate Spaces and Transformation | |
| |
| |
| |
The Physical Device Coordinate Space | |
| |
| |
| |
The Device Coordinate Space | |
| |
| |
| |
The Page Coordinate Space and Mapping Modes | |
| |
| |
| |
The World Coordinate Space | |
| |
| |
| |
Using Coordinate Spaces | |
| |
| |
| |
Sample Program: Scrolling and Zoom | |
| |
| |
| |
Summary | |
| |
| |
| |
Pixels | |
| |
| |
| |
GDI Objects, Handles, and Handle Table | |
| |
| |
| |
Clipping | |
| |
| |
| |
Color | |
| |
| |
| |
Drawing Pixels | |
| |
| |
| |
Sample Program: Mandelbrot Set | |
| |
| |
| |
Summary | |
| |
| |
| |
Lines and Curves | |
| |
| |
| |
Binary Raster Operations | |
| |
| |
| |
Background Mode and Background Color | |
| |
| |
| |
Pens | |
| |
| |
| |
Lines | |
| |
| |
| |
Bezier Curves | |
| |
| |
| |
Arcs | |
| |
| |
| |
Paths | |
| |
| |
| |
Sample: Drawing Your Own Styled-Lines | |
| |
| |
| |
Summary | |
| |
| |
| |
Areas | |
| |
| |
| |
Brushes | |
| |
| |
| |
Rectangles | |
| |
| |
| |
Ellipses, Chords, Pies, and Rounded Rectangles | |
| |
| |
| |
Polygons | |
| |
| |
| |
Closed Paths | |
| |
| |
| |
Regions | |
| |
| |
| |
Gradient Fills | |
| |
| |
| |
Area Fills in Reality | |
| |
| |
| |
Summary | |
| |
| |
| |
Bitmap Basics | |
| |
| |
| |
Device-Independent Bitmap Formats | |
| |
| |
| |
A DIB Class | |
| |
| |
| |
Displaying a DIB | |
| |
| |
| |
Memory Device Contexts | |
| |
| |
| |
Device-Dependent Bitmaps | |
| |
| |
| |
Using DDBS | |
| |
| |
| |
DIB Section | |
| |
| |
| |
Summary | |
| |
| |
| |
Advanced Bitmap Graphics | |
| |
| |
| |
Ternary Raster Operations | |
| |
| |
| |
Transparent Bitmaps | |
| |
| |
| |
Transparency without a Mask Bitmap | |
| |
| |
| |
Alpha Blending | |
| |
| |
| |
Summary | |
| |
| |
| |
Image Processing Using Windows Bitmaps | |
| |
| |
| |
Generic Pixel Access | |
| |
| |
| |
Bitmap Affine Transformation | |
| |
| |
| |
Fast Specialized Bitmap Transformer | |
| |
| |
| |
Bitmap Color Transformation | |
| |
| |
| |
Bitmap Pixel Transformation | |
| |
| |
| |
Bitmap Spatial Filters | |
| |
| |
| |
Summary | |
| |
| |
| |
Palettes | |
| |
| |
| |
System Palette | |
| |
| |
| |
The Logical Palette | |
| |
| |
| |
Palette Messages | |
| |
| |
| |
Palette and Bitmaps | |
| |
| |
| |
Color Quantization | |
| |
| |
| |
Bitmap Color-Depth Reduction | |
| |
| |
| |
Summary | |
| |
| |
| |
Fonts | |
| |
| |
| |
What's a Font? | |
| |
| |
| |
Bitmap Fonts | |
| |
| |
| |
Vector Fonts | |
| |
| |
| |
TrueType Fonts | |
| |
| |
| |
Font Installation and Embedding | |
| |
| |
| |
Summary | |
| |
| |
| |
Text | |
| |
| |
| |
Logical Fonts | |
| |
| |
| |
Querying Logical Font | |
| |
| |
| |
Simple Text Drawing | |
| |
| |
| |
Advanced Text Drawing | |
| |
| |
| |
Text Formatting | |
| |
| |
| |
Text Effects | |
| |
| |
| |
Summary | |
| |
| |
| |
Metafile | |
| |
| |
| |
Metafile Basics | |
| |
| |
| |
Inside an Enhanced Metafile | |
| |
| |
| |
Enumerating an EMF | |
| |
| |
| |
An EMF as a Programming Tool | |
| |
| |
| |
Summary | |
| |
| |
| |
Printing | |
| |
| |
| |
Understanding the Spooler | |
| |
| |
| |
Basic Printing Using GDI | |
| |
| |
| |
Design for Printing | |
| |
| |
| |
Drawing on Printer Device Context | |
| |
| |
| |
Summary | |
| |
| |
| |
DirectDraw and Direct3D Immediate Mode | |
| |
| |
| |
Component Object Model (COM) | |
| |
| |
| |
DirectDraw Basics | |
| |
| |
| |
Building a DirectDraw Graphics Library | |
| |
| |
| |
Direct3D Immediate Mode | |
| |
| |
| |
Summary | |
| |
| |
Index | |