Difference between revisions of "Mac OS X Porting - Native Printing"
m (→SalPrinter class) |
(→SalPrinter class) |
||
Line 37: | Line 37: | ||
SalPrinter() {} | SalPrinter() {} | ||
</code> | </code> | ||
+ | |||
+ | ==== PspSalPrinter class ==== | ||
+ | PspSalPrinter means PostScript Print System Abstraction Layer Printer. Its implementation is located. As the name suggests it relies on features psprint module. | ||
+ | |||
+ | TODO : Discuss about PspSalPrinter implementation. | ||
==== AquaSalPrinter class ==== | ==== AquaSalPrinter class ==== |
Revision as of 19:56, 8 October 2006
This page is dedicated to the native printing implementation in OpenOffice.org for Mac OS X
Contents
OpenOffice.org side
This part describes what can be found in the OOo APIs, how it is implemented and how it will be changed.
Concerned OOo modules
- psprint
- vcl
VCL
What we know about vcl.
SalPrinter class
SalPrinter is a virtual class intended for managing print jobs. It is composed of virtual fonctions, and a dummy constructor. This class is inherited by PspSalPrinter, WinSalPrinter, and of course by AquaSalPrinter (see AquaSalPrinter class).
class VCL_DLLPUBLIC SalPrinter { public: // public for Sal Implementation SalPrinter() {} virtual ~SalPrinter(); virtual BOOL StartJob( const XubString* pFileName, const XubString& rJobName, const XubString& rAppName, ULONG nCopies, BOOL bCollate, ImplJobSetup* pSetupData ) = 0; virtual BOOL EndJob() = 0; virtual BOOL AbortJob() = 0; virtual SalGraphics* StartPage( ImplJobSetup* pSetupData, BOOL bNewJobData ) = 0; virtual BOOL EndPage() = 0; virtual ULONG GetErrorCode() = 0; };
SalPrinter() {}
PspSalPrinter class
PspSalPrinter means PostScript Print System Abstraction Layer Printer. Its implementation is located. As the name suggests it relies on features psprint module.
TODO : Discuss about PspSalPrinter implementation.
AquaSalPrinter class
AquaSalPrinter class is located in vcl/aqua/source/gdi/salprn.cxx
Headers are in :
vcl/inc/salinst.hxx vcl/inc/salgdi.hxx vcl/inc/salprn.hxx
Aqua implementation : vcl/aqua/inc/salprn.h (AquaSalPrinter class implementation, inherits from SalPrinter)
psprint
What we know about psprint.
Mac OS X API side
This part describes what can be used and how we inted to use it.
Todo : implement missing methods, using Carbon API
Links
Link for Mac OS X API documentation
http://developer.apple.com/documentation/Carbon/Reference/CarbonPrintingManager_Ref/index.html
Starting point for documentation
http://developer.apple.com/documentation/Carbon/Printing-date.html#//apple_ref/doc/uid/TP30000440-TP30000420-TP30000455 http://developer.apple.com/documentation/Carbon/Conceptual/CPM_Concepts/cpm_chap4/chapter_4_section_1.html
This work is part of http://wiki.services.openoffice.org/wiki/Mac_OS_X_Porting_-_Work_Areas/Todo%27s
Created: Ericb 19:33, 4 June 2006 (CEST) Last modification: Ericb 11:00, 3 September 2006 (CEST)