Example #1
0
/* static utility function to get document/page attributes */
static void
S_GetPageAttributes(XpContextPtr pCon,int *iorient,int *icount, int *iplex,
                  int *ires, unsigned short *iwd, unsigned short *iht)
{
    char               *count;
    XpOid              orient, plex;
    /*
     *  Get the orientation
     */
    orient = XpGetContentOrientation(pCon);
    switch (orient) {
    case xpoid_val_content_orientation_landscape:
      *iorient = 1;
      break;
    case xpoid_val_content_orientation_reverse_portrait:
      *iorient = 2;
      break;
    case xpoid_val_content_orientation_reverse_landscape:
      *iorient = 3;
      break;
    case xpoid_val_content_orientation_portrait:
    default:
      *iorient = 0;
      break;
    }

    /*
     *  Get the count
     */
    count = XpGetOneAttribute(pCon, XPDocAttr, "copy-count");
    if( count )
    {
      int ii = sscanf(count, "%d", icount);
      if( ii!=1 ) *icount = 1;
    }
    else *icount = 1;

    /*
     * Get the plex
     */
    plex = XpGetPlex(pCon);
    switch(plex)
    {
    case xpoid_val_plex_duplex:
      *iplex = 1;
      break;
    case xpoid_val_plex_tumble:
      *iplex = 2;
      break;
    default:
      *iplex = 0;
      break;
    }

  /*
   *  Get the resolution and media size
   */
    *ires = XpGetResolution(pCon);
    XpGetMediumDimensions(pCon, iwd, iht);
}
Example #2
0
/*
 * PclGetMediumDimensions is installed in the GetMediumDimensions field
 * of each Pcl-initialized context.
 */
int
PclGetMediumDimensions(XpContextPtr pCon,
                       CARD16 *width,
                       CARD16 *height)
{
    XpGetMediumDimensions(pCon, width, height);
    return Success;
}