Print a widget
void PpPrintWidget( PpPrintContext_t *pc, PtWidget_t *widget, PhPoint_t const *trans, PhRect_t const *clip_rect, unsigned long resize );
Specifying a translation equal to the position of the widget makes the widget print at 0,0 on the printed output.
This isn't implemented yet; set clip_rect to NULL. |
ph
This function prints the specified widget using the provided print context. The widget doesn't need to be realized in order to be printed.
#include <Ph.h> #include <Pt.h> int main() { int n; int do_preview_only = 1; PhArea_t area, sev_area = {{ 0,0 },{400,400}}; PpPrintContext_t *pc; PtArg_t args[10]; PtWidget_t *window, *button; PhDim_t dim = { 750, 1000 }; PtInit( NULL ); pc = PpCreatePC(); /* Set override on print context to do preview mode only */ PpSetPC( pc, Pp_PC_DO_PREVIEW, &do_preview_only, 0 ); PpStartJob( pc ); PtSetArg( &args[0], Pt_ARG_AREA, &sev_area, 0 ); window = 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); PtSetArg( &args[n++], Pt_ARG_TEXT_STRING, "Test Button", 0 ); button = PtCreateWidget( PtButton, Pt_DEFAULT_PARENT, n, args ); PtRealizeWidget( window ); PpContinueJob( pc ); PtWidgetArea( button, &area); PpSetCanvas( pc, dim ); PpPrintWidget( pc, button, &area.pos, NULL, Pt_PP_NO_RESIZE ); PpEndJob( pc ); PtMainLoop(); return EXIT_SUCCESS; }
Photon
Safety: | |
---|---|
Interrupt handler | No |
Signal handler | No |
Thread | No |
PhPoint_t, PhRect_t, PpContinueJob(), PpCreatePC(), PpEndJob(), PpGetPC(), PpPrintContext_t, PpPrintNewPage(), PpReleasePC(), PpSetPC(), PpStartJob(), PpSuspendJob()
Printing in the Photon Programmer's Guide