[Previous] [Contents] [Index] [Next]

PpPrintWidget()

Print a widget

Synopsis:

void PpPrintWidget( PpPrintContext_t *pc, 
                    PtWidget_t *widget,
                    PhPoint_t const *trans, 
                    PhRect_t const *clip_rect, 
                    ulong_t resize );

Library:

ph

Description:

This function prints the specified widget using the provided print context. The widget doesn't need to be realized in order to be printed.

The arguments to PpPrintWidget() are:

pc
A print context obtained via PpCreatePC() and initialized via PpSetPC() and PpStartJob().
widget
The widget to be printed. This widget doesn't need to be realized to be printed and won't be clipped by its parent while printing.
trans
If non-NULL, this argument points to a PhPoint_t structure that defines the amount by which to translate the widget when drawing it into the print context. Specifying a translation equal to the position of the widget makes the widget print at 0,0 on the printed output.
clip_rect
If non-NULL, a pointer to a PhRect_t structure that defines the rectangle to be clipped to.
Note: This isn't implemented yet; set clip_rect to NULL.

resize
A value that indicates any special resizing to be done:

Examples:

    
#include <Ph.h>
#include <Pt.h>
    
main()
    {
    int n;
    PhArea_t area, sev_area = {0,0,400,400};
    PpPrintContext_t *pc;

    PtInit( NULL );
    pc = PpCreatePC();
    PpStartJob( pc );
        
    PtSetArg( &args[0], Pt_ARG_AREA, &sev_area, 0 );
    PtRealizeWidget( 
        PtCreateWidget( PtWindow, Pt_NO_PARENT, 1, args ) );

    n = 0;
    PtSetArg( &args[n++], Pt_ARG_AREA, &sev_area, 0 );
    PtSetArg( &args[n++], Pt_ARG_FILL_COLOR, Pg_BLUE, 0);
    button = PtCreateWidget( PtButton, Pt_DEFAULT_PARENT,
                             n, args );
    PpContinueJob( pc );
    PtWidgetArea( button, &area);
    PpPrintWidget( pc, button, &area.pos, NULL, 0 );
    PpEndJob( pc );

    PtMainLoop();
    }

Classification:

Photon

Safety:
Interrupt handler No
Signal handler No
Thread No

See also:

PhPoint_t, PhRect_t, PpContinueJob(), PpCreatePC(), PpEndJob(), PpGetPC(), PpPrintNewPage(), PpReleasePC(), PpSetPC(), PpStartJob(), PpSuspendJob()

Printing in the Photon Programmer's Guide


[Previous] [Contents] [Index] [Next]