Annotation of q_a/samples/streblt/readme.txt, revision 1.1

1.1     ! root        1:  Sample: StretchBlt Demonstration
        !             2: 
        !             3: Summary:
        !             4: 
        !             5: The STRETCH sample is an easy to use demonstration of the
        !             6: StretchBlt API function. The program presents a dialog box
        !             7: on the top of the window, and through this dialog box the
        !             8: user can manipulate the parameters to StretchBlt. In the
        !             9: main window, the source bitmap is displayed on the right
        !            10: half of the window, and the destination bitmap is displayed
        !            11: on the left half.
        !            12: 
        !            13: More Information:
        !            14: 
        !            15: The source and destination rectangles may be changed
        !            16: directly in the dialog, or they may be changed by using the
        !            17: direct manipulation objects in the two halves of the window.
        !            18: Clicking and dragging the mouse in the upper-left corner
        !            19: moves the rectangles; clicking and dragging the mouse in the
        !            20: lower-right corner sizes the rectangles. The source direct
        !            21: manipulation object is temporarily erased before calling
        !            22: StretchBlt so that the top and left edges do not show in the
        !            23: destination image.
        !            24: 
        !            25: The raster operation for the StretchBlt call may be changed
        !            26: by altering the values in the right-most entry fields. The
        !            27: contents are interpreted to be in hexadecimal. There is a
        !            28: combo box directly beneath these entry fields that lists all
        !            29: of the standard raster operations. If the user selects a
        !            30: standard ROP from this combo box, its contents are copied
        !            31: into the ROP entry fields and are then used in the
        !            32: StretchBlt call.
        !            33: 
        !            34: Several of the raster operations make use of a pattern in
        !            35: the destination HDC. For this reason, the program also
        !            36: allows the user to select one of the standard pattern
        !            37: brushes from a second combo box. This brush is selected into
        !            38: the destination HDC just prior to making the StretchBlt
        !            39: call.
        !            40: 
        !            41: The effect of the StretchBlt call is also affected by the
        !            42: "StretchBlt mode" that has been set for the destination HDC.
        !            43: A third combo box allows the user to select from any of the
        !            44: standard modes. The difference is most easily observed when
        !            45: stretching from a large source rectangle to a small
        !            46: destination rectangle.
        !            47: 
        !            48: The "Draw" button may be chosen at any time to cause the
        !            49: StretchBlt call to be made. This does not erase the
        !            50: background, so that the effect of multiple ROPs on the HDC
        !            51: can be observed. Manipulating the source rectangle also
        !            52: causes a StretchBlt to occur without erasing the window.
        !            53: However, manipulating the destination rectangle erases the
        !            54: destination half of the window before the next StretchBlt is
        !            55: called.
        !            56: 
        !            57: The following is a list of the Win32 API functions used in
        !            58: this sample:
        !            59: 
        !            60:    _lclose           DispatchMessa  LoadAccelerator  ReleaseDC
        !            61:                      ge             s
        !            62:    _lopen            DPtoLP         LoadCursor       SelectClipRgn
        !            63:    _lread            EndPaint       LoadIcon         SelectObject
        !            64:    AngleArc          GetClientRect  LocalAlloc       SendDlgItemMes
        !            65:                                                      sage
        !            66:    BeginPaint        GetClipboardD  LocalFree        SendMessage
        !            67:                      ata
        !            68:    BitBlt            GetDC          LocalHandle      SetCapture
        !            69:    ClientToScreen    GetDlgItemInt  LPtoDP           SetClipboardDa
        !            70:                                                      ta
        !            71:    CloseClipBoard    GetDlgItemTex  MessageBox       SetCursorPos
        !            72:                      t
        !            73:    CreateCompatible  GetFileSize    ModifyWorldTran  SetDlgItemInt
        !            74:    Bitmap                           sform
        !            75:    CreateCompatible  GetMessage     MoveToEx         SetDlgItemText
        !            76:    DC
        !            77:    CreateDialog      GetObject      OpenClipboard    SetROP2
        !            78:    CreateDIBitmap    GetStockObjec  OpenFile         SetStretchBltM
        !            79:                      t                               ode
        !            80:    CreatePen         GetViewportOr  PostMessage      SetViewportOrg
        !            81:                      gEx                             Ex
        !            82:    CreateRectRgnInd  GetWorldTrans  PostQuitMessage  SetWindowPos
        !            83:    irect             form
        !            84:    CreateWindow      InvalidateRec  PtInRect         SetWorldTransf
        !            85:                      t                               orm
        !            86:    DeleteDC          IsWindow       Rectangle        ShowWindow
        !            87:    DeleteObject      LineTo         ReleaseCapture   StretchBlt
        !            88: 
        !            89: 
        !            90: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.