123 lines
3.2 KiB
C++
123 lines
3.2 KiB
C++
//
|
|
// PAGE.HPP
|
|
// Page Class
|
|
//
|
|
// Copyright Microsoft 1998-
|
|
//
|
|
#ifndef __PAGE_HPP_
|
|
#define __PAGE_HPP_
|
|
|
|
|
|
|
|
//
|
|
// Purpose: Handler for page of graphic objects
|
|
//
|
|
|
|
class DCWbGraphic;
|
|
class DCWbGraphicPointer;
|
|
|
|
//
|
|
// Retrieving object data
|
|
//
|
|
PWB_GRAPHIC PG_GetData(WB_PAGE_HANDLE hPage, WB_GRAPHIC_HANDLE hGraphic);
|
|
|
|
//
|
|
// Allocating space for new objects
|
|
//
|
|
PWB_GRAPHIC PG_AllocateGraphic(WB_PAGE_HANDLE hPage, DWORD length);
|
|
|
|
DCWbGraphic* PG_First(WB_PAGE_HANDLE hPage, WB_GRAPHIC_HANDLE * phGraphic, LPCRECT lprcUpdate=NULL, BOOL bCheckReallyHit=FALSE);
|
|
DCWbGraphic* PG_Next(WB_PAGE_HANDLE hPage, WB_GRAPHIC_HANDLE * phGraphic, LPCRECT lprcUpdate=NULL, BOOL bCheckReallyHit=FALSE);
|
|
|
|
DCWbGraphic* PG_After(WB_PAGE_HANDLE hPage, const DCWbGraphic& graphic);
|
|
DCWbGraphic* PG_Before(WB_PAGE_HANDLE hPage, const DCWbGraphic& graphic);
|
|
|
|
//
|
|
// Retrieving remote pointer objects
|
|
//
|
|
DCWbGraphicPointer* PG_FirstPointer(WB_PAGE_HANDLE hPage, POM_OBJECT * ppUserNext);
|
|
DCWbGraphicPointer* PG_NextPointer(WB_PAGE_HANDLE hPage, POM_OBJECT * ppUserNext);
|
|
DCWbGraphicPointer* PG_NextPointer(WB_PAGE_HANDLE hPage, const DCWbGraphicPointer* pPointer);
|
|
DCWbGraphicPointer* PG_LocalPointer(WB_PAGE_HANDLE);
|
|
|
|
//
|
|
// Deleting all objects
|
|
//
|
|
void PG_Clear(WB_PAGE_HANDLE hPage);
|
|
|
|
|
|
//
|
|
// Selecting objects
|
|
//
|
|
DCWbGraphic* PG_SelectLast(WB_PAGE_HANDLE hPage, POINT pt);
|
|
DCWbGraphic* PG_SelectPrevious(WB_PAGE_HANDLE hPage, const DCWbGraphic& graphic,
|
|
POINT pt);
|
|
|
|
//
|
|
// Return TRUE if the specified object is topmost in the page
|
|
//
|
|
BOOL PG_IsTopmost(WB_PAGE_HANDLE hPage, const DCWbGraphic* pGraphic);
|
|
|
|
//
|
|
// Update an existing object
|
|
//
|
|
void PG_GraphicUpdate(WB_PAGE_HANDLE hPage, WB_GRAPHIC_HANDLE *phGraphic,
|
|
PWB_GRAPHIC pHeader);
|
|
void PG_GraphicReplace(WB_PAGE_HANDLE hPage, WB_GRAPHIC_HANDLE *phGraphic,
|
|
PWB_GRAPHIC pHeader);
|
|
void PG_GraphicDelete(WB_PAGE_HANDLE hPage, const DCWbGraphic& graphic);
|
|
|
|
//
|
|
// Return the bounding rectangle of all the graphics on the page
|
|
//
|
|
void PG_GetAreaInUse(WB_PAGE_HANDLE hPage, LPRECT lprcArea);
|
|
|
|
//
|
|
// Draw the entire contents of the page into the device context
|
|
// specified.
|
|
//
|
|
void PG_Draw(WB_PAGE_HANDLE hPage, HDC hdc, BOOL thumbNail = FALSE);
|
|
|
|
//
|
|
// Print an area of the page to the specified DC
|
|
//
|
|
void PG_Print(WB_PAGE_HANDLE hPage, HDC hdcPrinter, LPCRECT lprcArea);
|
|
|
|
//
|
|
// Return the palette to be used for displaying the page
|
|
//
|
|
HPALETTE PG_GetPalette(void);
|
|
void PG_InitializePalettes(void);
|
|
void PG_ReinitPalettes(void);
|
|
|
|
//
|
|
// Return the intersection of the given graphic's bounding rectangle
|
|
// and any objects which are obscuring it
|
|
//
|
|
void PG_GetObscuringRect(WB_PAGE_HANDLE hPage, DCWbGraphic* pGraphic, LPRECT lprcObscuring);
|
|
|
|
|
|
WB_GRAPHIC_HANDLE PG_ZGreaterGraphic(WB_PAGE_HANDLE hPage, WB_GRAPHIC_HANDLE hLastGraphic,
|
|
WB_GRAPHIC_HANDLE hTestGraphic );
|
|
|
|
//
|
|
// Search for the next active pointer on this page
|
|
//
|
|
DCWbGraphicPointer* PG_LookForPointer(WB_PAGE_HANDLE hPage, POM_OBJECT hUser);
|
|
|
|
|
|
//
|
|
// Retrieving pages
|
|
//
|
|
WB_PAGE_HANDLE PG_GetNextPage(WB_PAGE_HANDLE hPage);
|
|
WB_PAGE_HANDLE PG_GetPreviousPage(WB_PAGE_HANDLE hPage);
|
|
|
|
//
|
|
// Getting the index of a page
|
|
//
|
|
WB_PAGE_HANDLE PG_GetPageNumber(UINT uiPageNo);
|
|
|
|
|
|
|
|
#endif // __PAGE_HPP_
|