Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

122 lines
3.3 KiB

//
// 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_