|
|
1.1 root 1: Sample: MaskBlt Function Demonstration
2:
3: Summary:
4:
5: The MASKBLT sample is an easy-to-use demonstration of the
6: MaskBlt Win32 API function. The program presents a dialog
7: box on the top of the window; through this dialog box the
8: user can manipulate the parameters to MaskBlt. In the main
9: window, the source bitmap is displayed in the center third
10: of the window, the monochrome bitmap mask is displayed in
11: the right third of the window, and the destination bitmap is
12: displayed on the left.
13:
14: More Information:
15:
16: The destination rectangle may be changed directly in the
17: dialog box, or it may be changed by using the direct
18: manipulation object in the left third of the window.
19: Clicking and dragging the mouse in the upper-left corner
20: moves the rectangle; clicking and dragging the mouse in the
21: lower-right corner sizes the rectangle. The function
22: requires only a starting point (not a rectangle) for the
23: source and mask bitmaps. There is one additional direct
24: manipulation object for the source and one for the mask.
25: These objects may be moved by clicking and dragging with the
26: mouse.
27:
28: The raster operation for the MaskBlt call may be changed by
29: altering the values in the right most entry fields. The
30: contents are interpreted to be in hexadecimal. There is a
31: combo box directly beneath these entry fields that lists all
32: of the standard raster operations. If the user selects a
33: standard ROP from this combo box, its contents are copied
34: into the ROP entry fields and are then used in the MaskBlt
35: call.
36:
37: This sample provides clipboard support in the following manner.
38: Hitting <ctrl>+<insert> will copy the destination image into the
39: clipboard. Hitting <shift>+<insert> will copy a bitmap from the
40: clipboard into the source region. Hitting <alt>+<insert> will
41: do both; the destination image will be copied into the clipboard
42: and then down to the source region.
43:
44: The following is a list of the Win32 API functions used in
45: this sample:
46:
47: _lclose DPtoLP LineTo ReleaseCapture
48: _lopen EndPaint LoadAccelerators ReleaseDC
49: _lread FillRect LoadIcon SelectClipRgn
50: AngleArc GetClassLong LoadCursor SelectObject
51: BeginPaint GetClientRect LocalAlloc SendDlgItemMessage
52: BitBlt GetClipboardData LocalFree SendMessage
53: ClientToScreen GetClipBox LocalHandle SetCapture
54: CloseClipBoard GetDC LPtoDP SetClipboardData
55: CreateCompatibleBitmap GetDlgItemInt MaskBlt SetCursorPos
56: CreateCompatibleDC GetDlgItemtext MessageBox SetDlgItemInt
57: CreateDialog GetFileSize ModifyWorldTransform SetDlgItemText
58: CreateDIBitmap GetMessage MoveToEx SetROP2
59: CreatePen GetObject OpenClipboard SetViewportOrgEx
60: CreateRectRgnIndirect GetStockObject OpenFile SetWindowPos
61: CreateWindow GetViewportOrgEx PostMessage SetWorldTransform
62: DeleteDC GetWorldTransform PostQuitMessage ShowWindow
63: DeleteObject InvalidateRect PtInRect StretchBlt
64: DispatchMessage IsWindow Rectangle
65:
66:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.