Extract data from a print context
void * PpPrintGetPC( PpPrintContext_t *pc,
int member,
const void ** const data);
Use this function to query the attributes of a print context.
![]() |
Don't extract values directly from the data structure. Your application might not work if the structure changes in the future. |
The arguments are as follows:
| Member | Data |
|---|---|
| Pp_PC_NAME | address of a char * (string) |
| Pp_PC_LOCATION | address of a char * (string) |
| Pp_PC_DEVICE | address of a char * (string) |
| Pp_PC_DRIVER | address of a char * (string) |
| Pp_PC_NONPRINT_MARGINS | address of a PhRect_t * |
| Pp_PC_PROP_APP | address of a char * (string) |
| Pp_PC_PREVIEW_APP | address of a char * (string) |
| Pp_PC_FILENAME | address of a char * (string) |
| Pp_PC_COMMENT | address of a char * (string) |
| Pp_PC_DATE | address of a char * (string) |
| Pp_PC_USER_ID | address of a char * (string) |
| Pp_PC_PAGE_RANGE | address of a char * (string) |
| Pp_PC_SOURCE_OFFSET | address of a PhPoint_t * |
| Pp_PC_SOURCE_SIZE | address of a PhDim_t * |
| Pp_PC_SOURCE_RESOLUTION | address of a PhDim_t * |
| Pp_PC_SOURCE_COLORS | address of a ulong_t * |
| Pp_PC_SCALE | address of a PhPoint_t * |
| Pp_PC_MARGINS | address of a PhRect_t * |
| Pp_PC_INTENSITY | address of a ulong_t * |
| Pp_PC_PRINTER_RESOLUTION | address of a PhDim_t * |
| Pp_PC_PAPER_SIZE | address of a PhDim_t * |
| Pp_PC_COLLATING_MODE | address of a char * ( value ) |
| Pp_PC_DITHERING | address of a char * ( value ) |
| Pp_PC_COPIES | address of a char * ( value ) |
| Pp_PC_ORIENTATION | address of a char * ( value ) |
| Pp_PC_DUPLEX | address of a char * ( value ) |
| Pp_PC_PAPER_TYPE | address of a char * ( value ) |
| Pp_PC_PAPER_SOURCE | address of a char * ( value ) |
| Pp_PC_INKTYPE | address of a char * ( value ) |
| Pp_PC_COLOR_MODE | address of a char * ( value ) |
| Pp_PC_DO_PREVIEW | address of a char * ( value ) |
| Pp_PC_JOB_NAME | address of a char * (string) |
| Pp_PC_CONTROL | address of a PpPCControl_t * |
A pointer to the requested data, or NULL if an unrecognized member was specified.
int get_it( PtWidget_t *widget, ApInfo_t *apinfo,
PtCallbackInfo_t *cbinfo )
{
PhDim_t *dim;
void *pc_data;
PpPrintContext_t *pc;
/* Eliminate 'unreferenced' warnings */
widget = widget, apinfo = apinfo, cbinfo = cbinfo;
pc = PpPrintCreatePC();
// Pop up the standard print dialog to fill in the PC
PtPrintSelection( NULL, NULL,
"Select Printer", pc, 0 );
// Get some stuff from the pc
// A string:
PpPrintGetPC( pc, Pp_PC_NAME, &pc_data );
printf( "printer: %s\n", (char *)pc_data );
// A structure ( PhDim_t ):
PpPrintGetPC( pc, Pp_PC_PAPER_SIZE, &pc_data );
printf( "paper height: %d, width: %d\n",
((PhDim_t *)pc_data)->h, ((PhDim_t *)pc_data)->w );
// A long value:
PpPrintGetPC( pc, Pp_PC_INTENSITY, &pc_data );
printf( "intensity: %ld\n", *(long *)pc_data );
// A number stored in a char:
PpPrintGetPC( pc, Pp_PC_COPIES, &pc_data );
printf( "copies : %d\n", *(char *)pc_data );
// Of course, the correct type can be used to
// get the member:
PpPrintGetPC( pc, Pp_PC_PAPER_SIZE, &dim );
printf( "paper height: %d, width: %d\n", dim->h, dim->w );
PpPrintReleasePC( pc );
return Pt_CONTINUE;
}
Photon
| Safety: | |
|---|---|
| Interrupt handler | No |
| Signal handler | No |
| Thread | No |
PpPrintClose(), PpPrintCreatePC(), PpPrintGetPC(), PpPrintNewPage(), PpPrintReleasePC(), PpPrintSetPC(), PpPrintStart(), PpPrintStop(), PpPrintWidget()