Difference between revisions of "Mac OS X Porting - Native Printing"
m (→OpenOffice.org side) |
(SalPrinter class description) |
||
Line 1: | Line 1: | ||
This page is dedicated to the native printing implementation in OpenOffice.org for Mac OS X | This page is dedicated to the native printing implementation in OpenOffice.org for Mac OS X | ||
− | == Concerned OOo modules == | + | == 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 | * psprint | ||
* vcl | * vcl | ||
− | == | + | === VCL === |
− | + | What we know about vcl. | |
− | AquaSalPrinter class is located in aqua/source/gdi/salprn.cxx | + | ==== SalPrinter class ==== |
+ | SalPrinter is a virtual class intended for managing print jobs. It is composed of virtual fonctions, and a dummy constructor. | ||
+ | |||
+ | <code> | ||
+ | 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; | ||
+ | }; | ||
+ | </code> | ||
+ | |||
+ | ==== AquaSalPrinter class ==== | ||
+ | AquaSalPrinter class is located in vcl/aqua/source/gdi/salprn.cxx | ||
Headers are in : | Headers are in : | ||
Line 16: | Line 42: | ||
Aqua implementation : | Aqua implementation : | ||
− | aqua/inc/salprn.h (AquaSalPrinter class implementation, inherits from SalPrinter) | + | vcl/aqua/inc/salprn.h (AquaSalPrinter class implementation, inherits from SalPrinter) |
− | + | ||
− | + | ||
− | + | ||
=== psprint === | === psprint === | ||
− | What we know about psprint | + | What we know about psprint. |
== Mac OS X API side == | == Mac OS X API side == |
Revision as of 18:11, 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.
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; };
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)