Files
haiku-beta6/src/libs/print/libprint/JobData.cpp
T

593 lines
15 KiB
C++
Raw Normal View History

2004-01-27 21:44:26 +00:00
/*
* JobData.cpp
* Copyright 1999-2000 Y.Takagi. All Rights Reserved.
*/
#include "JobData.h"
#include <Debug.h>
2004-01-27 21:44:26 +00:00
#include <InterfaceDefs.h>
#include <Message.h>
#include <sstream>
2004-01-27 21:44:26 +00:00
#include "PrinterCap.h"
#include "DbgMsg.h"
static const char *kJDXRes = "xres";
static const char *kJDYRes = "yres";
static const char *kJDCopies = "copies";
static const char *kJDOrientation = "orientation";
static const char *kJDScaling = "scale";
static const char *kJDScaledPaperRect = "paper_rect";
static const char *kJDScaledPrintableRect = "printable_rect";
static const char *kJDFirstPage = "first_page";
static const char *kJDLastPage = "last_page";
2007-01-20 15:52:37 +00:00
static const char *kJDShowPreview = "JJJJ_showPreview";
static const char *kJDPaper = "JJJJ_paper";
static const char *kJDNup = "JJJJ_nup";
static const char *kJDGamma = "JJJJ_gamma";
static const char *kJDInkDensity = "JJJJ_ink_density";
static const char *kJDPaperSource = "JJJJ_paper_source";
static const char *kJDCollate = "JJJJ_collate";
static const char *kJDReverse = "JJJJ_reverse";
static const char *kJDPrintStyle = "JJJJ_print_style";
static const char *kJDBindingLocation = "JJJJ_binding_location";
static const char *kJDPageOrder = "JJJJ_page_order";
static const char *kJDColor = "JJJJ_color";
static const char *kJDDitherType = "JJJJ_dither_type";
static const char *kJDPaperRect = "JJJJ_paper_rect";
static const char* kJDPrintableRect = "JJJJ_printable_rect";
static const char* kJDPageSelection = "JJJJ_page_selection";
static const char* kJDMarginUnit = "JJJJ_margin_unit";
static const char* kJDPhysicalRect = "JJJJ_physical_rect";
static const char* kJDScaledPhysicalRect = "JJJJ_scaled_physical_rect";
static const char* kJDResolution = "JJJJ_resolution";
static const char* kJDDriverSpecificSettings = "JJJJ_driverSpecificSettings";
DriverSpecificSettings::DriverSpecificSettings()
{
}
DriverSpecificSettings::DriverSpecificSettings(
const DriverSpecificSettings& settings)
:
fSettings(settings.fSettings)
{
}
DriverSpecificSettings &
DriverSpecificSettings::operator=(const DriverSpecificSettings &settings)
{
fSettings = settings.fSettings;
return *this;
}
void
DriverSpecificSettings::MakeEmpty()
{
fSettings.MakeEmpty();
}
2004-01-27 21:44:26 +00:00
2010-10-26 09:03:26 +00:00
bool
DriverSpecificSettings::HasString(const char* key) const
2004-01-27 21:44:26 +00:00
{
const char* value;
return fSettings.FindString(key, &value) == B_OK;
}
const char*
DriverSpecificSettings::GetString(const char* key) const
{
ASSERT(HasString(key));
const char* value = NULL;
fSettings.FindString(key, &value);
return value;
}
void
DriverSpecificSettings::SetString(const char* key, const char* value)
{
if (HasString(key))
fSettings.ReplaceString(key, value);
else
fSettings.AddString(key, value);
}
bool
DriverSpecificSettings::HasBoolean(const char* key) const
{
bool value;
return fSettings.FindBool(key, &value) == B_OK;
}
bool
DriverSpecificSettings::GetBoolean(const char* key) const
{
ASSERT(HasBoolean(key));
bool value;
fSettings.FindBool(key, &value);
return value;
}
void
DriverSpecificSettings::SetBoolean(const char* key, bool value)
{
if (HasBoolean(key))
fSettings.ReplaceBool(key, value);
else
fSettings.AddBool(key, value);
}
bool
DriverSpecificSettings::HasInt(const char* key) const
{
int32 value;
return fSettings.FindInt32(key, &value) == B_OK;
}
int32
DriverSpecificSettings::GetInt(const char* key) const
{
ASSERT(HasInt(key));
int32 value;
fSettings.FindInt32(key, &value);
return value;
}
void
DriverSpecificSettings::SetInt(const char* key, int32 value)
{
if (HasInt(key))
fSettings.ReplaceInt32(key, value);
else
fSettings.AddInt32(key, value);
}
bool
DriverSpecificSettings::HasDouble(const char* key) const
{
double value;
return fSettings.FindDouble(key, &value) == B_OK;
}
double
DriverSpecificSettings::GetDouble(const char* key) const
{
ASSERT(HasDouble(key));
double value;
fSettings.FindDouble(key, &value);
return value;
}
void
DriverSpecificSettings::SetDouble(const char* key, double value)
{
if (HasDouble(key))
fSettings.ReplaceDouble(key, value);
else
fSettings.AddDouble(key, value);
}
BMessage&
DriverSpecificSettings::Message()
{
return fSettings;
}
2010-12-08 19:09:44 +00:00
JobData::JobData(BMessage *message, const PrinterCap *printerCap, SettingType settingType)
{
2010-12-08 19:09:44 +00:00
Load(message, printerCap, settingType);
2004-01-27 21:44:26 +00:00
}
2010-10-26 09:03:26 +00:00
2004-01-27 21:44:26 +00:00
JobData::~JobData()
{
}
2010-10-26 09:03:26 +00:00
2010-12-08 19:09:44 +00:00
JobData::JobData(const JobData &jobData)
2004-01-27 21:44:26 +00:00
{
2010-12-08 19:09:44 +00:00
*this = jobData;
2004-01-27 21:44:26 +00:00
}
2010-10-26 09:03:26 +00:00
JobData&
2010-12-08 19:09:44 +00:00
JobData::operator=(const JobData &jobData)
2004-01-27 21:44:26 +00:00
{
2010-12-08 19:09:44 +00:00
fShowPreview = jobData.fShowPreview;
fPaper = jobData.fPaper;
fResolutionID = jobData.fResolutionID;
fXRes = jobData.fXRes;
fYRes = jobData.fYRes;
fOrientation = jobData.fOrientation;
fScaling = jobData.fScaling;
fPaperRect = jobData.fPaperRect;
fScaledPaperRect = jobData.fScaledPaperRect;
fPrintableRect = jobData.fPrintableRect;
fScaledPrintableRect = jobData.fScaledPrintableRect;
fNup = jobData.fNup;
fFirstPage = jobData.fFirstPage;
fLastPage = jobData.fLastPage;
fGamma = jobData.fGamma;
fInkDensity = jobData.fInkDensity;
fPaperSource = jobData.fPaperSource;
fCopies = jobData.fCopies;
fCollate = jobData.fCollate;
fReverse = jobData.fReverse;
fPrintStyle = jobData.fPrintStyle;
fBindingLocation = jobData.fBindingLocation;
fPageOrder = jobData.fPageOrder;
fSettingType = jobData.fSettingType;
fMsg = jobData.fMsg;
fColor = jobData.fColor;
fDitherType = jobData.fDitherType;
fPageSelection = jobData.fPageSelection;
fMarginUnit = jobData.fMarginUnit;
fPhysicalRect = jobData.fPhysicalRect;
fScaledPhysicalRect = jobData.fScaledPhysicalRect;
fDriverSpecificSettings = jobData.fDriverSpecificSettings;
2004-01-27 21:44:26 +00:00
return *this;
}
2010-10-26 09:03:26 +00:00
void
2010-12-08 19:09:44 +00:00
JobData::Load(BMessage* message, const PrinterCap* printerCap,
SettingType settingType)
2004-01-27 21:44:26 +00:00
{
2010-12-08 19:09:44 +00:00
fMsg = message;
fSettingType = settingType;
2004-01-27 21:44:26 +00:00
const PaperCap *paperCap = NULL;
2010-12-08 19:09:44 +00:00
if (message->HasBool(kJDShowPreview))
fShowPreview = message->FindBool(kJDShowPreview);
2007-01-20 15:52:37 +00:00
else
fShowPreview = false;
2010-12-08 19:09:44 +00:00
if (message->HasInt32(kJDPaper))
fPaper = (Paper)message->FindInt32(kJDPaper);
else if (printerCap->Supports(PrinterCap::kPaper)) {
2010-12-08 19:09:44 +00:00
paperCap = (const PaperCap *)printerCap->GetDefaultCap(
PrinterCap::kPaper);
2010-10-25 11:34:31 +00:00
fPaper = paperCap->fPaper;
} else
fPaper = kA4;
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
if (message->HasInt32(kJDResolution)) {
message->FindInt32(kJDResolution, &fResolutionID);
} else if (printerCap->Supports(PrinterCap::kResolution)) {
2010-12-08 19:09:44 +00:00
fResolutionID = printerCap->GetDefaultCap(PrinterCap::kResolution)
->ID();
} else {
// should not reach here!
fResolutionID = 0;
}
2010-12-08 19:09:44 +00:00
if (message->HasInt64(kJDXRes)) {
2004-01-27 21:44:26 +00:00
int64 xres64;
2010-12-08 19:09:44 +00:00
message->FindInt64(kJDXRes, &xres64);
fXRes = xres64;
} else if (printerCap->Supports(PrinterCap::kResolution)) {
2010-12-08 19:09:44 +00:00
fXRes = ((const ResolutionCap *)printerCap->GetDefaultCap(
2010-10-25 11:34:31 +00:00
PrinterCap::kResolution))->fXResolution;
2004-01-27 21:44:26 +00:00
} else {
fXRes = 300;
2004-01-27 21:44:26 +00:00
}
2010-12-08 19:09:44 +00:00
if (message->HasInt64(kJDYRes)) {
2004-01-27 21:44:26 +00:00
int64 yres64;
2010-12-08 19:09:44 +00:00
message->FindInt64(kJDYRes, &yres64);
fYRes = yres64;
} else if (printerCap->Supports(PrinterCap::kResolution)) {
2010-12-08 19:09:44 +00:00
fYRes = ((const ResolutionCap *)printerCap->GetDefaultCap(
2010-10-25 11:34:31 +00:00
PrinterCap::kResolution))->fYResolution;
2004-01-27 21:44:26 +00:00
} else {
fYRes = 300;
2004-01-27 21:44:26 +00:00
}
2010-12-08 19:09:44 +00:00
if (message->HasInt32(kJDOrientation))
fOrientation = (Orientation)message->FindInt32(kJDOrientation);
else if (printerCap->Supports(PrinterCap::kOrientation))
2010-12-08 19:09:44 +00:00
fOrientation = ((const OrientationCap *)printerCap->GetDefaultCap(
2010-10-25 11:34:31 +00:00
PrinterCap::kOrientation))->fOrientation;
2004-01-27 21:44:26 +00:00
else
fOrientation = kPortrait;
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
if (message->HasFloat(kJDScaling))
fScaling = message->FindFloat(kJDScaling);
2004-01-27 21:44:26 +00:00
else
fScaling = 100.0f;
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
if (message->HasRect(kJDPaperRect)) {
fPaperRect = message->FindRect(kJDPaperRect);
} else if (paperCap != NULL) {
2010-10-25 11:34:31 +00:00
fPaperRect = paperCap->fPaperRect;
2004-01-27 21:44:26 +00:00
}
2010-12-08 19:09:44 +00:00
if (message->HasRect(kJDScaledPaperRect)) {
fScaledPaperRect = message->FindRect(kJDScaledPaperRect);
} else {
fScaledPaperRect = fPaperRect;
}
2010-12-08 19:09:44 +00:00
if (message->HasRect(kJDPrintableRect)) {
fPrintableRect = message->FindRect(kJDPrintableRect);
} else if (paperCap != NULL) {
2010-10-25 11:34:31 +00:00
fPrintableRect = paperCap->fPhysicalRect;
2004-01-27 21:44:26 +00:00
}
2010-12-08 19:09:44 +00:00
if (message->HasRect(kJDScaledPrintableRect)) {
fScaledPrintableRect = message->FindRect(kJDScaledPrintableRect);
} else {
fScaledPrintableRect = fPrintableRect;
}
2010-12-08 19:09:44 +00:00
if (message->HasRect(kJDPhysicalRect)) {
fPhysicalRect = message->FindRect(kJDPhysicalRect);
} else if (paperCap != NULL) {
2010-10-25 11:34:31 +00:00
fPhysicalRect = paperCap->fPhysicalRect;
}
2010-12-08 19:09:44 +00:00
if (message->HasRect(kJDScaledPhysicalRect)) {
fScaledPhysicalRect = message->FindRect(kJDScaledPhysicalRect);
} else {
fScaledPhysicalRect = fPhysicalRect;
}
2010-12-08 19:09:44 +00:00
if (message->HasInt32(kJDFirstPage))
fFirstPage = message->FindInt32(kJDFirstPage);
2004-01-27 21:44:26 +00:00
else
fFirstPage = 1;
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
if (message->HasInt32(kJDLastPage))
fLastPage = message->FindInt32(kJDLastPage);
2004-01-27 21:44:26 +00:00
else
fLastPage = -1;
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
if (message->HasInt32(kJDNup))
fNup = message->FindInt32(kJDNup);
2004-01-27 21:44:26 +00:00
else
fNup = 1;
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
if (message->HasFloat(kJDGamma))
fGamma = fMsg->FindFloat(kJDGamma);
2004-01-27 21:44:26 +00:00
else
fGamma = 0.25f;
2010-12-08 19:09:44 +00:00
if (message->HasFloat(kJDInkDensity))
fInkDensity = fMsg->FindFloat(kJDInkDensity);
else
fInkDensity = 0.0f;
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
if (message->HasInt32(kJDPaperSource))
fPaperSource = (PaperSource)fMsg->FindInt32(kJDPaperSource);
else if (printerCap->Supports(PrinterCap::kPaperSource))
2010-12-08 19:09:44 +00:00
fPaperSource = ((const PaperSourceCap *)printerCap->GetDefaultCap(
2010-10-25 11:34:31 +00:00
PrinterCap::kPaperSource))->fPaperSource;
2004-01-27 21:44:26 +00:00
else
fPaperSource = kAuto;
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
if (message->HasInt32(kJDCopies))
fCopies = message->FindInt32(kJDCopies);
2004-01-27 21:44:26 +00:00
else
fCopies = 1;
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
if (message->HasBool(kJDCollate))
fCollate = message->FindBool(kJDCollate);
2004-01-27 21:44:26 +00:00
else
fCollate = false;
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
if (message->HasBool(kJDReverse))
fReverse = message->FindBool(kJDReverse);
2004-01-27 21:44:26 +00:00
else
fReverse = false;
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
if (message->HasInt32(kJDPrintStyle))
fPrintStyle = (PrintStyle)message->FindInt32(kJDPrintStyle);
else if (printerCap->Supports(PrinterCap::kPrintStyle))
2010-12-08 19:09:44 +00:00
fPrintStyle = ((const PrintStyleCap *)printerCap->GetDefaultCap(
2010-10-25 11:34:31 +00:00
PrinterCap::kPrintStyle))->fPrintStyle;
2004-01-27 21:44:26 +00:00
else
fPrintStyle = kSimplex;
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
if (message->HasInt32(kJDBindingLocation))
fBindingLocation = (BindingLocation)message->FindInt32(
kJDBindingLocation);
else if (printerCap->Supports(PrinterCap::kBindingLocation))
2010-12-08 19:09:44 +00:00
fBindingLocation = ((const BindingLocationCap *)printerCap->
GetDefaultCap(PrinterCap::kBindingLocation))->fBindingLocation;
2004-01-27 21:44:26 +00:00
else
fBindingLocation = kLongEdgeLeft;
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
if (message->HasInt32(kJDPageOrder))
fPageOrder = (PageOrder)message->FindInt32(kJDPageOrder);
2004-01-27 21:44:26 +00:00
else
fPageOrder = kAcrossFromLeft;
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
if (message->HasInt32(kJDColor))
fColor = (Color)message->FindInt32(kJDColor);
else if (printerCap->Supports(PrinterCap::kColor))
2010-12-08 19:09:44 +00:00
fColor = ((const ColorCap *)printerCap->GetDefaultCap(
PrinterCap::kColor))->fColor;
2004-01-27 21:44:26 +00:00
else
fColor = kMonochrome;
2010-12-08 19:09:44 +00:00
if (message->HasInt32(kJDDitherType))
fDitherType = (Halftone::DitherType)message->FindInt32(kJDDitherType);
else
fDitherType = Halftone::kTypeFloydSteinberg;
2010-12-08 19:09:44 +00:00
if (message->HasInt32(kJDPageSelection))
fPageSelection = (PageSelection)message->FindInt32(kJDPageSelection);
else
fPageSelection = kAllPages;
2010-12-08 19:09:44 +00:00
if (message->HasInt32(kJDMarginUnit))
fMarginUnit = (MarginUnit)message->FindInt32(kJDMarginUnit);
else
fMarginUnit = kUnitInch;
2010-12-08 19:09:44 +00:00
if (message->HasMessage(kJDDriverSpecificSettings))
message->FindMessage(kJDDriverSpecificSettings,
&fDriverSpecificSettings.Message());
2004-01-27 21:44:26 +00:00
}
2010-10-26 09:03:26 +00:00
void
2010-12-08 19:09:44 +00:00
JobData::Save(BMessage* message)
2004-01-27 21:44:26 +00:00
{
2010-12-08 19:09:44 +00:00
if (message == NULL) {
message = fMsg;
2004-01-27 21:44:26 +00:00
}
// page settings
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDPaper);
message->AddInt32(kJDPaper, fPaper);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDResolution);
message->AddInt32(kJDResolution, fResolutionID);
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDXRes);
message->AddInt64(kJDXRes, fXRes);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDYRes);
message->AddInt64(kJDYRes, fYRes);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDOrientation);
message->AddInt32(kJDOrientation, fOrientation);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDScaling);
message->AddFloat(kJDScaling, fScaling);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDPaperRect);
message->AddRect(kJDPaperRect, fPaperRect);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDScaledPaperRect);
message->AddRect(kJDScaledPaperRect, fScaledPaperRect);
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDPrintableRect);
message->AddRect(kJDPrintableRect, fPrintableRect);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDScaledPrintableRect);
message->AddRect(kJDScaledPrintableRect, fScaledPrintableRect);
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDPhysicalRect);
message->AddRect(kJDPhysicalRect, fPhysicalRect);
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDScaledPhysicalRect);
message->AddRect(kJDScaledPhysicalRect, fScaledPhysicalRect);
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDMarginUnit);
message->AddInt32(kJDMarginUnit, fMarginUnit);
2007-01-20 15:52:37 +00:00
// page settings end here
// job settings
2007-01-20 15:52:37 +00:00
// make sure job settings are not present in page settings
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDShowPreview);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddBool(kJDShowPreview, fShowPreview);
2007-01-20 15:52:37 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDNup);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddInt32(kJDNup, fNup);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDFirstPage);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddInt32(kJDFirstPage, fFirstPage);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDLastPage);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddInt32(kJDLastPage, fLastPage);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDGamma);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddFloat(kJDGamma, fGamma);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDInkDensity);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddFloat(kJDInkDensity, fInkDensity);
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDPaperSource);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddInt32(kJDPaperSource, fPaperSource);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDCopies);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddInt32(kJDCopies, fCopies);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDCollate);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddBool(kJDCollate, fCollate);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDReverse);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddBool(kJDReverse, fReverse);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDPrintStyle);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddInt32(kJDPrintStyle, fPrintStyle);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDBindingLocation);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddInt32(kJDBindingLocation, fBindingLocation);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDPageOrder);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddInt32(kJDPageOrder, fPageOrder);
2004-01-27 21:44:26 +00:00
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDColor);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddInt32(kJDColor, fColor);
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDDitherType);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddInt32(kJDDitherType, fDitherType);
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDPageSelection);
if (fSettingType == kJobSettings)
2010-12-08 19:09:44 +00:00
message->AddInt32(kJDPageSelection, fPageSelection);
2010-12-08 19:09:44 +00:00
message->RemoveName(kJDDriverSpecificSettings);
if (fSettingType == kJobSettings)
{
2010-12-08 19:09:44 +00:00
message->AddMessage(kJDDriverSpecificSettings,
&fDriverSpecificSettings.Message());
}
}
DriverSpecificSettings&
JobData::Settings()
{
return fDriverSpecificSettings;
}
const DriverSpecificSettings&
JobData::Settings() const
{
return fDriverSpecificSettings;
2004-01-27 21:44:26 +00:00
}