136 lines
5.6 KiB
C
136 lines
5.6 KiB
C
|
/* $Xorg: PrintSP.h,v 1.1 2003/07/11 19:46:06 gisburn Exp $ */
|
||
|
/******************************************************************************
|
||
|
******************************************************************************
|
||
|
**
|
||
|
** (c) Copyright 2003 Danny Backx <danny.backx@skynet.be>
|
||
|
** (c) Copyright 2003-2004 Roland Mainz <roland.mainz@nrubsig.org>
|
||
|
**
|
||
|
** Permission is hereby granted, free of charge, to any person obtaining a copy
|
||
|
** of this software and associated documentation files (the "Software"), to deal
|
||
|
** in the Software without restriction, including without limitation the rights
|
||
|
** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||
|
** copies of the Software, and to permit persons to whom the Software is
|
||
|
** furnished to do so, subject to the following conditions:
|
||
|
**
|
||
|
** The above copyright notice and this permission notice shall be included in
|
||
|
** all copies or substantial portions of the Software.
|
||
|
**
|
||
|
** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||
|
** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||
|
** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||
|
** COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||
|
** IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||
|
** CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||
|
**
|
||
|
** Except as contained in this notice, the names of the copyright holders shall
|
||
|
** not be used in advertising or otherwise to promote the sale, use or other
|
||
|
** dealings in this Software without prior written authorization from said
|
||
|
** copyright holders.
|
||
|
**
|
||
|
******************************************************************************
|
||
|
*****************************************************************************/
|
||
|
|
||
|
#ifndef _XAW_PRINTSP_H
|
||
|
#define _XAW_PRINTSP_H 1
|
||
|
|
||
|
#include <X11/CoreP.h>
|
||
|
#include <X11/ShellP.h>
|
||
|
|
||
|
_XFUNCPROTOBEGIN
|
||
|
|
||
|
/* New fields for the XawPrintShell widget class record */
|
||
|
|
||
|
typedef struct {
|
||
|
XtPointer extension; /* pointer to extension record */
|
||
|
} XawPrintShellClassPart;
|
||
|
|
||
|
typedef struct XawPrintShellClassRec {
|
||
|
CoreClassPart core_class;
|
||
|
CompositeClassPart composite_class;
|
||
|
ShellClassPart shell_class;
|
||
|
WMShellClassPart wm_shell_class;
|
||
|
VendorShellClassPart vendor_shell_class;
|
||
|
TopLevelShellClassPart top_level_shell_class;
|
||
|
ApplicationShellClassPart application_shell_class;
|
||
|
XawPrintShellClassPart print_shell_class;
|
||
|
} XawPrintShellClassRec;
|
||
|
|
||
|
extern XawPrintShellClassRec xawPrintShellClassRec;
|
||
|
|
||
|
/* New fields for the XawPrint shell widget */
|
||
|
|
||
|
typedef struct {
|
||
|
XtCallbackList start_job_callback,
|
||
|
end_job_callback,
|
||
|
doc_setup_callback,
|
||
|
page_setup_callback;
|
||
|
XtEnum layoutmode; /* see XawPrintConfigureLayoutMode */
|
||
|
unsigned short page_width,
|
||
|
page_height;
|
||
|
Dimension min_x,
|
||
|
min_y,
|
||
|
max_x,
|
||
|
max_y;
|
||
|
unsigned int curr_doc_num_in_job, /* Current document number in job */
|
||
|
curr_page_num_in_doc, /* Current page number in doc */
|
||
|
curr_page_num_in_job; /* Current page number in job */
|
||
|
unsigned short default_pixmap_resolution;
|
||
|
long print_resolution;
|
||
|
Boolean last_page_in_doc;
|
||
|
Boolean last_page_in_job;
|
||
|
} XawPrintShellPart;
|
||
|
|
||
|
typedef struct XawPrintShellRec {
|
||
|
CorePart core;
|
||
|
CompositePart composite;
|
||
|
ShellPart shell;
|
||
|
WMShellPart wm;
|
||
|
VendorShellPart vendor;
|
||
|
TopLevelShellPart topLevel;
|
||
|
ApplicationShellPart application;
|
||
|
XawPrintShellPart print;
|
||
|
} XawPrintShellRec;
|
||
|
extern WidgetClass xawPrintShellWidgetClass;
|
||
|
|
||
|
#define PS_StartJobCallback(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.start_job_callback)
|
||
|
#define PS_EndJobCallback(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.end_job_callback)
|
||
|
#define PS_DocSetupCallback(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.doc_setup_callback)
|
||
|
#define PS_PageSetupCallback(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.page_setup_callback)
|
||
|
#define PS_LayoutMode(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.layoutmode)
|
||
|
#define PS_PageWidth(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.page_width)
|
||
|
#define PS_PageHeight(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.page_height)
|
||
|
#define PS_MinX(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.min_x)
|
||
|
#define PS_MinY(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.min_y)
|
||
|
#define PS_MaxX(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.max_x)
|
||
|
#define PS_MaxY(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.max_y)
|
||
|
#define PS_CurrDocNumInJob(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.curr_doc_num_in_job)
|
||
|
#define PS_CurrPageNumInDoc(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.curr_page_num_in_doc)
|
||
|
#define PS_CurrPageNumInJob(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.curr_page_num_in_job)
|
||
|
#define PS_DefaultPixmapResolution(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.default_pixmap_resolution)
|
||
|
#define PS_PrintResolution(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.print_resolution)
|
||
|
#define PS_LastPageInDoc(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.last_page_in_doc)
|
||
|
#define PS_LastPageInJob(w) \
|
||
|
(((XawPrintShellWidget) (w))->print.last_page_in_job)
|
||
|
|
||
|
_XFUNCPROTOEND
|
||
|
|
||
|
#endif /* !_XAW_PRINTSP_H */
|
||
|
|