зеркало из https://github.com/mozilla/gecko-dev.git
Fix bug 279510: remove all the pre-Carbon code and TARGET_CARBON #idfefs from gfx. Patch by Ludovic Hirlimann <qa-mozilla@hirlimann.net>, r=pink, sr=me
This commit is contained in:
Родитель
8eaec170ab
Коммит
20697ecb7f
|
@ -64,129 +64,19 @@ enum {
|
|||
|
||||
inline void GetWindowUpdateRegion ( WindowPtr window, RgnHandle outUpdateRgn )
|
||||
{
|
||||
#if TARGET_CARBON
|
||||
::GetWindowRegion(window, kWindowUpdateRgn, outUpdateRgn);
|
||||
#else
|
||||
::CopyRgn(((WindowRecord*)window)->updateRgn, outUpdateRgn);
|
||||
#endif
|
||||
}
|
||||
|
||||
inline void SetControlPopupMenuStuff ( ControlHandle control, MenuHandle menu, short aID )
|
||||
{
|
||||
#if TARGET_CARBON
|
||||
::SetControlPopupMenuHandle ( control, menu );
|
||||
::SetControlPopupMenuID ( control, aID );
|
||||
#else
|
||||
PopupPrivateData* popupData = (PopupPrivateData*)*((*control)->contrlData);
|
||||
if (popupData) {
|
||||
popupData->mHandle = menu;
|
||||
popupData->mID = aID;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
inline WindowRef GetTheWindowList(void)
|
||||
{
|
||||
#if TARGET_CARBON
|
||||
return GetWindowList();
|
||||
#else
|
||||
return LMGetWindowList();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
#if !TARGET_CARBON
|
||||
|
||||
inline void GetPortHiliteColor(CGrafPtr port, RGBColor* color)
|
||||
{
|
||||
// is this really a color grafport?
|
||||
if (port->portVersion & 0xC000)
|
||||
{
|
||||
GrafVars** grafVars = (GrafVars**)port->grafVars;
|
||||
*color = (*grafVars)->rgbHiliteColor;
|
||||
}
|
||||
else
|
||||
{
|
||||
RGBColor fakeColor = { 0x0000, 0x0000, 0x0000};
|
||||
*color = fakeColor;
|
||||
}
|
||||
}
|
||||
|
||||
inline Boolean IsPortOffscreen(CGrafPtr port)
|
||||
{
|
||||
return ((UInt16)port->portVersion == 0xC001);
|
||||
}
|
||||
|
||||
inline Rect* GetRegionBounds(RgnHandle region, Rect* rect)
|
||||
{
|
||||
*rect = (**region).rgnBBox;
|
||||
return rect;
|
||||
}
|
||||
|
||||
inline Boolean IsRegionComplex(RgnHandle region)
|
||||
{
|
||||
return (**region).rgnSize != sizeof(MacRegion);
|
||||
}
|
||||
|
||||
inline void GetPortVisibleRegion(CGrafPtr port, RgnHandle visRgn)
|
||||
{
|
||||
::CopyRgn(port->visRgn, visRgn);
|
||||
}
|
||||
|
||||
inline void GetPortClipRegion(CGrafPtr port, RgnHandle clipRgn)
|
||||
{
|
||||
::CopyRgn(port->clipRgn, clipRgn);
|
||||
}
|
||||
|
||||
inline short GetPortTextFace(CGrafPtr port)
|
||||
{
|
||||
return port->txFace;
|
||||
}
|
||||
|
||||
inline short GetPortTextFont(CGrafPtr port)
|
||||
{
|
||||
return port->txFont;
|
||||
}
|
||||
|
||||
inline short GetPortTextSize(CGrafPtr port)
|
||||
{
|
||||
return port->txSize;
|
||||
}
|
||||
|
||||
inline Rect* GetPortBounds(CGrafPtr port, Rect* portRect)
|
||||
{
|
||||
*portRect = port->portRect;
|
||||
return portRect;
|
||||
}
|
||||
|
||||
inline PixMapHandle GetPortPixMap(CGrafPtr port)
|
||||
{
|
||||
return port->portPixMap;
|
||||
}
|
||||
|
||||
inline Boolean IsRegionRectangular(RgnHandle rgn)
|
||||
{
|
||||
return (**rgn).rgnSize == 10;
|
||||
}
|
||||
|
||||
inline GrafPtr GetQDGlobalsThePort()
|
||||
{
|
||||
return qd.thePort;
|
||||
}
|
||||
|
||||
inline const BitMap * GetPortBitMapForCopyBits(CGrafPtr port)
|
||||
{
|
||||
return &((GrafPtr)port)->portBits;
|
||||
}
|
||||
|
||||
inline OSErr AEGetDescData (const AEDesc * theAEDesc, void * dataPtr, Size maximumSize)
|
||||
{
|
||||
::BlockMoveData(*(theAEDesc->dataHandle), dataPtr, maximumSize);
|
||||
return noErr;
|
||||
}
|
||||
|
||||
|
||||
#endif /* !TARGET_CARBON */
|
||||
|
||||
#endif /* CarbonHelpers_h__ */
|
||||
|
|
|
@ -1,237 +0,0 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Patrick C. Beard <beard@netscape.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
/*
|
||||
nsCoreGraphicsGlue.cpp
|
||||
|
||||
Glue routines for Core Graphics on Mac OS X.
|
||||
|
||||
by Patrick C. Beard.
|
||||
*/
|
||||
|
||||
#include <size_t.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <CFURL.h>
|
||||
#include <CFBundle.h>
|
||||
#include <CFString.h>
|
||||
#include <MacErrors.h>
|
||||
#include <Gestalt.h>
|
||||
#include <Fonts.h>
|
||||
|
||||
#include <CGAffineTransform.h>
|
||||
|
||||
static CFBundleRef getBundle(CFStringRef frameworkPath)
|
||||
{
|
||||
CFBundleRef bundle = NULL;
|
||||
|
||||
// Make a CFURLRef from the CFString representation of the bundle's path.
|
||||
// See the Core Foundation URL Services chapter for details.
|
||||
CFURLRef bundleURL = CFURLCreateWithFileSystemPath(NULL, frameworkPath, kCFURLPOSIXPathStyle, true);
|
||||
if (bundleURL != NULL) {
|
||||
bundle = CFBundleCreate(NULL, bundleURL);
|
||||
if (bundle != NULL)
|
||||
CFBundleLoadExecutable(bundle);
|
||||
CFRelease(bundleURL);
|
||||
}
|
||||
|
||||
return bundle;
|
||||
}
|
||||
|
||||
static void* getSystemFunction(CFStringRef functionName)
|
||||
{
|
||||
static CFBundleRef systemBundle = getBundle(CFSTR("/System/Library/Frameworks/System.framework"));
|
||||
if (systemBundle) return CFBundleGetFunctionPointerForName(systemBundle, functionName);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void* getQuartzFunction(CFStringRef functionName)
|
||||
{
|
||||
static CFBundleRef quartzBundle = getBundle(CFSTR("/System/Library/Frameworks/ApplicationServices.framework"));
|
||||
if (quartzBundle) return CFBundleGetFunctionPointerForName(quartzBundle, functionName);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// Useful Carbon-CFM debugging tool, printf that goes to the system console.
|
||||
|
||||
typedef int (*vprintf_proc_ptr) (const char* format, va_list args);
|
||||
static vprintf_proc_ptr system_vprintf = (vprintf_proc_ptr) getSystemFunction(CFSTR("vprintf"));
|
||||
|
||||
int std::printf(const char* format, ...)
|
||||
{
|
||||
int rv = 0;
|
||||
va_list args;
|
||||
va_start(args, format);
|
||||
if (system_vprintf)
|
||||
rv = system_vprintf(format, args);
|
||||
va_end(args);
|
||||
return rv;
|
||||
}
|
||||
|
||||
// Dynamically loaded functions exported from ApplicationServices.framework.
|
||||
|
||||
#define quartz_proc_ptr(name) \
|
||||
Quartz_ ## name ## _proc_ptr
|
||||
|
||||
#define quartz_func(name) \
|
||||
Quartz_ ## name
|
||||
|
||||
#define decl_quartz_func(r_type, name, args) \
|
||||
typedef r_type (*quartz_proc_ptr(name)) args; \
|
||||
static quartz_proc_ptr(name) quartz_func(name) = (quartz_proc_ptr(name)) getQuartzFunction(CFSTR(#name)); \
|
||||
r_type name args
|
||||
|
||||
#define call_quartz_func(name, args, err) \
|
||||
return (quartz_func(name) ? quartz_func(name) args : err)
|
||||
|
||||
#define call_quartz_proc(name, args) \
|
||||
if (quartz_func(name)) quartz_func(name) args
|
||||
|
||||
decl_quartz_func(OSStatus, QDBeginCGContext, (CGrafPtr inPort, CGContextRef * outContext))
|
||||
{
|
||||
call_quartz_func(QDBeginCGContext, (inPort, outContext), cfragNoSymbolErr);
|
||||
}
|
||||
|
||||
decl_quartz_func(OSStatus, QDEndCGContext, (CGrafPtr inPort, CGContextRef * inoutContext))
|
||||
{
|
||||
call_quartz_func(QDEndCGContext, (inPort, inoutContext), cfragNoSymbolErr);
|
||||
}
|
||||
|
||||
decl_quartz_func(OSStatus, ClipCGContextToRegion, (CGContextRef ctx, const Rect * portRect, RgnHandle region))
|
||||
{
|
||||
call_quartz_func(ClipCGContextToRegion, (ctx, portRect, region), cfragNoSymbolErr);
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextScaleCTM, (CGContextRef ctx, float sx, float sy))
|
||||
{
|
||||
call_quartz_proc(CGContextScaleCTM, (ctx, sx, sy));
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextTranslateCTM, (CGContextRef ctx, float tx, float ty))
|
||||
{
|
||||
call_quartz_proc(CGContextTranslateCTM, (ctx, tx, ty));
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextBeginPath, (CGContextRef ctx))
|
||||
{
|
||||
call_quartz_proc(CGContextBeginPath, (ctx));
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextMoveToPoint, (CGContextRef ctx, float x, float y))
|
||||
{
|
||||
call_quartz_proc(CGContextMoveToPoint, (ctx, x, y));
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextAddLineToPoint, (CGContextRef ctx, float x, float y))
|
||||
{
|
||||
call_quartz_proc(CGContextAddLineToPoint, (ctx, x, y));
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextAddLines, (CGContextRef ctx, const CGPoint points[], size_t count))
|
||||
{
|
||||
call_quartz_proc(CGContextAddLines, (ctx, points, count));
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextFillRect, (CGContextRef ctx, CGRect rect))
|
||||
{
|
||||
call_quartz_proc(CGContextFillRect, (ctx, rect));
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextStrokeRect, (CGContextRef ctx, CGRect rect))
|
||||
{
|
||||
call_quartz_proc(CGContextStrokeRect, (ctx, rect));
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextSetRGBFillColor, (CGContextRef ctx, float r, float g, float b, float alpha))
|
||||
{
|
||||
call_quartz_proc(CGContextSetRGBFillColor, (ctx, r, g, b, alpha));
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextSetRGBStrokeColor, (CGContextRef ctx, float r, float g, float b, float alpha))
|
||||
{
|
||||
call_quartz_proc(CGContextSetRGBStrokeColor, (ctx, r, g, b, alpha));
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextSetFont, (CGContextRef ctx, CGFontRef font))
|
||||
{
|
||||
call_quartz_proc(CGContextSetFont, (ctx, font));
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextSetFontSize, (CGContextRef ctx, float size))
|
||||
{
|
||||
call_quartz_proc(CGContextSetFontSize, (ctx, size));
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextSelectFont, (CGContextRef ctx, const char * name, float size, CGTextEncoding textEncoding))
|
||||
{
|
||||
call_quartz_proc(CGContextSelectFont, (ctx, name, size, textEncoding));
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextShowText, (CGContextRef ctx, const char * cstring, size_t length))
|
||||
{
|
||||
call_quartz_proc(CGContextShowText, (ctx, cstring, length));
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextShowTextAtPoint, (CGContextRef ctx, float x, float y, const char * cstring, size_t length))
|
||||
{
|
||||
call_quartz_proc(CGContextShowTextAtPoint, (ctx, x, y, cstring, length));
|
||||
}
|
||||
|
||||
decl_quartz_func(void, CGContextSetTextMatrix, (CGContextRef ctx, CGAffineTransform transform))
|
||||
{
|
||||
call_quartz_proc(CGContextSetTextMatrix, (ctx, transform));
|
||||
}
|
||||
|
||||
decl_quartz_func(CGAffineTransform, CGContextGetTextMatrix, (CGContextRef ctx))
|
||||
{
|
||||
CGAffineTransform transform = { 0.0 };
|
||||
call_quartz_func(CGContextGetTextMatrix, (ctx), transform);
|
||||
}
|
||||
|
||||
decl_quartz_func(CGAffineTransform, CGAffineTransformScale, (CGAffineTransform t, float sx, float sy))
|
||||
{
|
||||
call_quartz_func(CGAffineTransformScale, (t, sx, sy), t);
|
||||
}
|
||||
|
||||
decl_quartz_func(CGAffineTransform, CGAffineTransformTranslate, (CGAffineTransform t, float tx, float ty))
|
||||
{
|
||||
call_quartz_func(CGAffineTransformTranslate, (t, tx, ty), t);
|
||||
}
|
|
@ -38,11 +38,7 @@
|
|||
|
||||
#include "nsDeviceContextMac.h"
|
||||
#include "nsRenderingContextMac.h"
|
||||
#if TARGET_CARBON
|
||||
#include "nsDeviceContextSpecX.h"
|
||||
#else
|
||||
#include "nsDeviceContextSpecMac.h"
|
||||
#endif
|
||||
#include "nsIPrintingContext.h"
|
||||
#include "nsString.h"
|
||||
#include "nsHashtable.h"
|
||||
|
@ -648,11 +644,6 @@ NS_IMETHODIMP nsDeviceContextMac::GetDeviceContextFor(nsIDeviceContextSpec *aDev
|
|||
|
||||
::GetPort(&curPort);
|
||||
|
||||
#if !TARGET_CARBON
|
||||
THPrint thePrintRecord = ((nsDeviceContextSpecMac*)aDevice)->mPrtRec;
|
||||
pix_Inch = (**thePrintRecord).prInfo.iHRes;
|
||||
macDC->mPageRect = (**thePrintRecord).prInfo.rPage;
|
||||
#else
|
||||
nsCOMPtr<nsIPrintingContext> printingContext = do_QueryInterface(aDevice);
|
||||
if (printingContext) {
|
||||
if (NS_FAILED(printingContext->GetPrinterResolution(&pix_Inch)))
|
||||
|
@ -663,7 +654,7 @@ NS_IMETHODIMP nsDeviceContextMac::GetDeviceContextFor(nsIDeviceContextSpec *aDev
|
|||
pageRect.top = top, pageRect.left = left;
|
||||
pageRect.bottom = bottom, pageRect.right = right;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
((nsDeviceContextMac*)aContext)->Init(curPort);
|
||||
|
||||
|
@ -688,23 +679,11 @@ NS_IMETHODIMP nsDeviceContextMac::BeginDocument(PRUnichar * aTitle,
|
|||
PRInt32 aStartPage,
|
||||
PRInt32 aEndPage)
|
||||
{
|
||||
#if !TARGET_CARBON
|
||||
GrafPtr thePort;
|
||||
|
||||
if(((nsDeviceContextSpecMac*)(this->mSpec).get())->mPrintManagerOpen) {
|
||||
::GetPort(&mOldPort);
|
||||
thePort = (GrafPtr)::PrOpenDoc(((nsDeviceContextSpecMac*)(this->mSpec).get())->mPrtRec,nsnull,nsnull);
|
||||
((nsDeviceContextSpecMac*)(this->mSpec).get())->mPrinterPort = (TPrPort*)thePort;
|
||||
SetPort(thePort);
|
||||
}
|
||||
return NS_OK;
|
||||
#else
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
nsCOMPtr<nsIPrintingContext> printingContext = do_QueryInterface(mSpec);
|
||||
if (printingContext)
|
||||
rv = printingContext->BeginDocument(aStartPage, aEndPage);
|
||||
return rv;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
@ -714,19 +693,11 @@ GrafPtr thePort;
|
|||
*/
|
||||
NS_IMETHODIMP nsDeviceContextMac::EndDocument(void)
|
||||
{
|
||||
#if !TARGET_CARBON
|
||||
if(((nsDeviceContextSpecMac*)(this->mSpec).get())->mPrintManagerOpen){
|
||||
::SetPort(mOldPort);
|
||||
::PrCloseDoc(((nsDeviceContextSpecMac*)(this->mSpec).get())->mPrinterPort);
|
||||
}
|
||||
return NS_OK;
|
||||
#else
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
nsCOMPtr<nsIPrintingContext> printingContext = do_QueryInterface(mSpec);
|
||||
if (printingContext)
|
||||
rv = printingContext->EndDocument();
|
||||
return rv;
|
||||
#endif
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------
|
||||
|
@ -745,17 +716,11 @@ NS_IMETHODIMP nsDeviceContextMac::AbortDocument(void)
|
|||
*/
|
||||
NS_IMETHODIMP nsDeviceContextMac::BeginPage(void)
|
||||
{
|
||||
#if !TARGET_CARBON
|
||||
if(((nsDeviceContextSpecMac*)(this->mSpec).get())->mPrintManagerOpen)
|
||||
::PrOpenPage(((nsDeviceContextSpecMac*)(this->mSpec).get())->mPrinterPort,nsnull);
|
||||
return NS_OK;
|
||||
#else
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
nsCOMPtr<nsIPrintingContext> printingContext = do_QueryInterface(mSpec);
|
||||
if (printingContext)
|
||||
rv = printingContext->BeginPage();
|
||||
return rv;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -40,11 +40,8 @@
|
|||
#include "nsIPrintingContext.h"
|
||||
#include "nsGfxCIID.h"
|
||||
#include "plstr.h"
|
||||
#if TARGET_CARBON
|
||||
#include "nsDeviceContextSpecX.h"
|
||||
#else
|
||||
#include "nsDeviceContextSpecMac.h"
|
||||
#endif
|
||||
|
||||
|
||||
/** -------------------------------------------------------
|
||||
* Constructor
|
||||
|
|
|
@ -1,145 +0,0 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include "nsDeviceContextSpecMac.h"
|
||||
#include "nsIServiceManager.h"
|
||||
#include "nsIPrintOptions.h"
|
||||
#include "nsIPrintSettingsMac.h"
|
||||
|
||||
|
||||
/** -------------------------------------------------------
|
||||
* Construct the nsDeviceContextSpecMac
|
||||
* @update dc 12/02/98
|
||||
*/
|
||||
nsDeviceContextSpecMac::nsDeviceContextSpecMac()
|
||||
: mPrtRec(nsnull)
|
||||
, mPrintManagerOpen(PR_FALSE)
|
||||
{
|
||||
}
|
||||
|
||||
/** -------------------------------------------------------
|
||||
* Destroy the nsDeviceContextSpecMac
|
||||
* @update dc 12/02/98
|
||||
*/
|
||||
nsDeviceContextSpecMac::~nsDeviceContextSpecMac()
|
||||
{
|
||||
ClosePrintManager();
|
||||
|
||||
if (mPrtRec) {
|
||||
::DisposeHandle((Handle)mPrtRec);
|
||||
mPrtRec = nsnull;
|
||||
}
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS2(nsDeviceContextSpecMac, nsIDeviceContextSpec, nsIPrintingContext)
|
||||
|
||||
/** -------------------------------------------------------
|
||||
* Initialize the nsDeviceContextSpecMac
|
||||
* @update dc 05/04/2001
|
||||
*/
|
||||
NS_IMETHODIMP nsDeviceContextSpecMac::Init(nsIPrintSettings* aPS, PRBool aIsPrintPreview)
|
||||
{
|
||||
nsCOMPtr<nsIPrintSettingsMac> printSettingsMac(do_QueryInterface(aPS));
|
||||
if (!printSettingsMac)
|
||||
return NS_ERROR_NO_INTERFACE;
|
||||
|
||||
// open the printing manager if not print preview
|
||||
if (!aIsPrintPreview) {
|
||||
::PrOpen();
|
||||
if (::PrError() != noErr)
|
||||
return NS_ERROR_FAILURE;
|
||||
mPrintManagerOpen = PR_TRUE;
|
||||
}
|
||||
|
||||
nsresult rv = printSettingsMac->GetTHPrint(&mPrtRec);
|
||||
|
||||
// make sure the print record is valid
|
||||
::PrValidate(mPrtRec);
|
||||
if (::PrError() != noErr)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/** -------------------------------------------------------
|
||||
* Closes the printmanager if it is open.
|
||||
* @update dc 12/03/98
|
||||
*/
|
||||
NS_IMETHODIMP nsDeviceContextSpecMac::ClosePrintManager()
|
||||
{
|
||||
if (mPrintManagerOpen)
|
||||
::PrClose();
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsDeviceContextSpecMac::BeginDocument(PRInt32 aStartPage,
|
||||
PRInt32 aEndPage)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsDeviceContextSpecMac::EndDocument()
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsDeviceContextSpecMac::BeginPage()
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsDeviceContextSpecMac::EndPage()
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsDeviceContextSpecMac::GetPrinterResolution(double* aResolution)
|
||||
{
|
||||
nsresult rv = NS_ERROR_NOT_IMPLEMENTED;
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsDeviceContextSpecMac::GetPageRect(double* aTop, double* aLeft, double* aBottom, double* aRight)
|
||||
{
|
||||
nsresult rv = NS_ERROR_NOT_IMPLEMENTED;
|
||||
return rv;
|
||||
}
|
|
@ -1,114 +0,0 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifndef nsDeviceContextSpecMac_h___
|
||||
#define nsDeviceContextSpecMac_h___
|
||||
|
||||
#include "nsIDeviceContextSpec.h"
|
||||
#include "nsIPrintingContext.h"
|
||||
#include "nsDeviceContextMac.h"
|
||||
#include "nsIPrintSettings.h"
|
||||
#include <Printing.h>
|
||||
|
||||
class nsDeviceContextSpecMac : public nsIDeviceContextSpec, public nsIPrintingContext {
|
||||
public:
|
||||
/**
|
||||
* Construct a nsDeviceContextSpecMac, which is an object which contains and manages a mac printrecord
|
||||
* @update dc 12/02/98
|
||||
*/
|
||||
nsDeviceContextSpecMac();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
/**
|
||||
* Initialize the nsDeviceContextSpecMac for use. This will allocate a printrecord for use
|
||||
* @update dc 12/02/98
|
||||
* @param aIsPrintPreview TRUE if doing print preview, FALSE if normal printing.
|
||||
* @return error status
|
||||
*/
|
||||
NS_IMETHOD Init(nsIPrintSettings* aPS, PRBool aIsPrintPreview);
|
||||
|
||||
|
||||
/**
|
||||
* This will tell if the printmanager is currently open
|
||||
* @update dc 12/03/98
|
||||
* @param aIsOpen True or False depending if the printmanager is open
|
||||
* @return error status
|
||||
*/
|
||||
NS_IMETHOD PrintManagerOpen(PRBool* aIsOpen) {*aIsOpen = mPrintManagerOpen; return NS_OK;}
|
||||
|
||||
/**
|
||||
* Closes the printmanager if it is open.
|
||||
* @update dc 12/03/98
|
||||
* @return error status
|
||||
*/
|
||||
NS_IMETHOD ClosePrintManager();
|
||||
|
||||
NS_IMETHOD BeginDocument(PRInt32 aStartPage,
|
||||
PRInt32 aEndPage);
|
||||
|
||||
NS_IMETHOD EndDocument();
|
||||
|
||||
NS_IMETHOD BeginPage();
|
||||
|
||||
NS_IMETHOD EndPage();
|
||||
|
||||
NS_IMETHOD GetPrinterResolution(double* aResolution);
|
||||
|
||||
NS_IMETHOD GetPageRect(double* aTop, double* aLeft, double* aBottom, double* aRight);
|
||||
protected:
|
||||
/**
|
||||
* Destuct a nsDeviceContextSpecMac, this will release the printrecord
|
||||
* @update dc 12/02/98
|
||||
*/
|
||||
virtual ~nsDeviceContextSpecMac();
|
||||
|
||||
protected:
|
||||
THPrint mPrtRec; // the print record
|
||||
PRBool mPrintManagerOpen; // tells if the print manager is open
|
||||
|
||||
|
||||
|
||||
#if !TARGET_CARBON
|
||||
// pinkerton - obsolete APIs. Doesn't exist in carbon
|
||||
TPrPort* mPrinterPort;
|
||||
#endif
|
||||
|
||||
friend class nsDeviceContextMac;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -49,20 +49,13 @@
|
|||
#include "nsRegionMac.h"
|
||||
#include "nsScriptableRegion.h"
|
||||
#include "nsNativeThemeMac.h"
|
||||
#if TARGET_CARBON
|
||||
#include "nsDeviceContextSpecX.h"
|
||||
#include "nsPrintOptionsX.h"
|
||||
#include "nsPrintSessionX.h"
|
||||
#else
|
||||
#include "nsDeviceContextSpecMac.h"
|
||||
#include "nsPrintOptionsMac.h"
|
||||
#include "nsPrintSession.h"
|
||||
#endif
|
||||
#include "nsDeviceContextSpecFactoryM.h"
|
||||
#include "nsScreenManagerMac.h"
|
||||
#include "nsBlender.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsPrintOptionsMac.h"
|
||||
#include "nsUnicodeMappingUtil.h"
|
||||
#include "gfxImageFrame.h"
|
||||
|
||||
|
@ -76,15 +69,9 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsImageMac)
|
|||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsRegionMac)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsBlender)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDrawingSurfaceMac)
|
||||
#if TARGET_CARBON
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDeviceContextSpecX)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsPrintOptionsX)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintSessionX, Init)
|
||||
#else
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDeviceContextSpecMac)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsPrintOptionsMac)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintSession, Init)
|
||||
#endif
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDeviceContextSpecFactoryMac)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFontEnumeratorMac)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFontList)
|
||||
|
@ -139,22 +126,14 @@ static const nsModuleComponentInfo components[] =
|
|||
NS_DRAWING_SURFACE_CID,
|
||||
"@mozilla.org/gfx/drawing-surface;1",
|
||||
nsDrawingSurfaceMacConstructor },
|
||||
#if TARGET_CARBON
|
||||
{ "nsDeviceContextSpec",
|
||||
NS_DEVICE_CONTEXT_SPEC_CID,
|
||||
"@mozilla.org/gfx/devicecontextspec;1",
|
||||
nsDeviceContextSpecXConstructor },
|
||||
#else
|
||||
{ "nsDeviceContextSpec",
|
||||
NS_DEVICE_CONTEXT_SPEC_CID,
|
||||
"@mozilla.org/gfx/devicecontextspec;1",
|
||||
nsDeviceContextSpecMacConstructor },
|
||||
#endif
|
||||
{ "nsDeviceContextSpecFactory",
|
||||
NS_DEVICE_CONTEXT_SPEC_FACTORY_CID,
|
||||
"@mozilla.org/gfx/devicecontextspecfactory;1",
|
||||
nsDeviceContextSpecFactoryMacConstructor },
|
||||
#if TARGET_CARBON
|
||||
{ "PrintSettings Service",
|
||||
NS_PRINTSETTINGSSERVICE_CID,
|
||||
"@mozilla.org/gfx/printsettings-service;1",
|
||||
|
@ -163,16 +142,6 @@ static const nsModuleComponentInfo components[] =
|
|||
NS_PRINTSESSION_CID,
|
||||
"@mozilla.org/gfx/printsession;1",
|
||||
nsPrintSessionXConstructor },
|
||||
#else
|
||||
{ "PrintSettings Service",
|
||||
NS_PRINTSETTINGSSERVICE_CID,
|
||||
"@mozilla.org/gfx/printsettings-service;1",
|
||||
nsPrintOptionsMacConstructor },
|
||||
{ "Print Session",
|
||||
NS_PRINTSESSION_CID,
|
||||
"@mozilla.org/gfx/printsession;1",
|
||||
nsPrintSessionConstructor },
|
||||
#endif
|
||||
{ "nsFontEnumerator",
|
||||
NS_FONT_ENUMERATOR_CID,
|
||||
"@mozilla.org/gfx/fontenumerator;1",
|
||||
|
|
|
@ -54,14 +54,7 @@
|
|||
*/
|
||||
inline PRBool CurrentPortIsWMPort()
|
||||
{
|
||||
#if TARGET_CARBON
|
||||
return PR_FALSE;
|
||||
#else
|
||||
GrafPtr curPort;
|
||||
::GetPort(&curPort);
|
||||
|
||||
return (curPort == ::LMGetWMgrPort());
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
@ -82,20 +75,6 @@ inline PRBool ValidateDrawingState()
|
|||
if (CurrentPortIsWMPort() && (FrontWindow() != nil))
|
||||
return false;
|
||||
|
||||
#if TARGET_CARBON
|
||||
//if (! IsValidPort(curPort)) // rather slow
|
||||
// return false;
|
||||
#else
|
||||
// all our ports should be onscreen or offscreen color graphics ports
|
||||
// Onscreen ports have portVersion 0xC000, GWorlds have 0xC001.
|
||||
#if DEBUG
|
||||
if ((((UInt16)curPort->portVersion & 0xC000) != 0xC000) && !IsSIOUXWindow((GrafPtr)curPort))
|
||||
return false;
|
||||
#else
|
||||
if ((((UInt16)curPort->portVersion & 0xC000) != 0xC000))
|
||||
return false;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// see if the device is in the device list. If not, it probably means that
|
||||
// it's the device for an offscreen GWorld. In that case, the current port
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
#include "imgScaler.h"
|
||||
|
||||
#if 0
|
||||
#if TARGET_CARBON
|
||||
|
||||
// useful region debugging code.
|
||||
static OSStatus PrintRgnRectProc(UInt16 message, RgnHandle rgn, const Rect *inRect, void *refCon)
|
||||
{
|
||||
|
@ -81,7 +81,6 @@ static void PrintRegionOutline(RgnHandle inRgn)
|
|||
UInt32 rectCount = 0;
|
||||
::QDRegionToRects(inRgn, kQDParseRegionFromTopLeft, sCountRectProc, &rectCount);
|
||||
}
|
||||
#endif // TARGET_CARBON
|
||||
#endif
|
||||
|
||||
#pragma mark -
|
||||
|
|
|
@ -201,7 +201,6 @@ printf("told to draw at %ld %ld w %ld h %ld\n", inBoxRect.left, inBoxRect.top, i
|
|||
void
|
||||
nsNativeThemeMac::DrawEditText ( const Rect& inBoxRect, PRBool inIsDisabled )
|
||||
{
|
||||
#if TARGET_CARBON
|
||||
Pattern whitePat;
|
||||
::BackColor(whiteColor);
|
||||
::BackPat(GetQDGlobalsWhite(&whitePat));
|
||||
|
@ -209,14 +208,12 @@ nsNativeThemeMac::DrawEditText ( const Rect& inBoxRect, PRBool inIsDisabled )
|
|||
|
||||
ThemeDrawState drawState = inIsDisabled ? kThemeStateDisabled : kThemeStateActive;
|
||||
::DrawThemeEditTextFrame(&inBoxRect, drawState);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
nsNativeThemeMac::DrawListBox ( const Rect& inBoxRect, PRBool inIsDisabled )
|
||||
{
|
||||
#if TARGET_CARBON
|
||||
Pattern whitePat;
|
||||
::BackColor(whiteColor);
|
||||
::BackPat(GetQDGlobalsWhite(&whitePat));
|
||||
|
@ -224,7 +221,6 @@ nsNativeThemeMac::DrawListBox ( const Rect& inBoxRect, PRBool inIsDisabled )
|
|||
|
||||
ThemeDrawState drawState = inIsDisabled ? kThemeStateDisabled : kThemeStateActive;
|
||||
::DrawThemeListBoxFrame(&inBoxRect, drawState);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
@ -488,7 +484,6 @@ nsNativeThemeMac::GetWidgetBorder(nsIDeviceContext* aContext,
|
|||
|
||||
// XXX we should probably cache some of these metrics
|
||||
|
||||
#if TARGET_CARBON
|
||||
switch ( aWidgetType ) {
|
||||
|
||||
case NS_THEME_BUTTON:
|
||||
|
@ -525,7 +520,6 @@ nsNativeThemeMac::GetWidgetBorder(nsIDeviceContext* aContext,
|
|||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
@ -547,7 +541,6 @@ nsNativeThemeMac::GetMinimumWidgetSize(nsIRenderingContext* aContext, nsIFrame*
|
|||
aResult->SizeTo(0,0);
|
||||
*aIsOverridable = PR_TRUE;
|
||||
|
||||
#if TARGET_CARBON
|
||||
switch ( aWidgetType ) {
|
||||
|
||||
case NS_THEME_BUTTON:
|
||||
|
@ -686,7 +679,6 @@ nsNativeThemeMac::GetMinimumWidgetSize(nsIRenderingContext* aContext, nsIFrame*
|
|||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
|
|
@ -1,129 +0,0 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include "nsPrintOptionsMac.h"
|
||||
#include "nsPrintSettingsMac.h"
|
||||
|
||||
#define MAC_OS_PAGE_SETUP_PREFNAME "print.macos.pagesetup"
|
||||
|
||||
/** ---------------------------------------------------
|
||||
* See documentation in nsPrintOptionsMac.h
|
||||
* @update 6/21/00 dwc
|
||||
*/
|
||||
nsPrintOptionsMac::nsPrintOptionsMac()
|
||||
{
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------
|
||||
* See documentation in nsPrintOptionsImpl.h
|
||||
* @update 6/21/00 dwc
|
||||
*/
|
||||
nsPrintOptionsMac::~nsPrintOptionsMac()
|
||||
{
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------
|
||||
* See documentation in nsPrintOptionsImpl.h
|
||||
*/
|
||||
NS_IMETHODIMP nsPrintOptionsMac::_CreatePrintSettings(nsIPrintSettings **_retval)
|
||||
{
|
||||
nsresult rv;
|
||||
nsPrintSettingsMac* printSettings = new nsPrintSettingsMac(); // does not initially ref count
|
||||
if (!printSettings)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
rv = printSettings->Init();
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
return printSettings->QueryInterface(NS_GET_IID(nsIPrintSettings), (void**)_retval); // ref counts
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------
|
||||
* See documentation in nsPrintOptionsImpl.h
|
||||
* @update 6/21/00 dwc
|
||||
*/
|
||||
NS_IMETHODIMP
|
||||
nsPrintOptionsMac::ShowPrintSetupDialog(nsIPrintSettings *aThePrintSettings)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/* [noscript] voidPtr GetNativeData (in short aDataType); */
|
||||
NS_IMETHODIMP
|
||||
nsPrintOptionsMac::GetNativeData(PRInt16 aDataType, void * *_retval)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(_retval);
|
||||
*_retval = nsnull;
|
||||
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
||||
nsresult
|
||||
nsPrintOptionsMac::ReadPrefs(nsIPrintSettings* aPS, const nsString& aPrefName, PRUint32 aFlags)
|
||||
{
|
||||
nsresult rv;
|
||||
|
||||
rv = nsPrintOptions::ReadPrefs(aPS, aPrefName, aFlags);
|
||||
NS_ASSERTION(NS_SUCCEEDED(rv), "nsPrintOptions::ReadPrefs() failed");
|
||||
|
||||
nsCOMPtr<nsIPrintSettingsMac> printSettingsMac(do_QueryInterface(aPS));
|
||||
if (!printSettingsMac)
|
||||
return NS_ERROR_NO_INTERFACE;
|
||||
rv = printSettingsMac->ReadPageSetupFromPrefs();
|
||||
NS_ASSERTION(NS_SUCCEEDED(rv), "nsIPrintSettingsMac::ReadPageFormatFromPrefs() failed");
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsPrintOptionsMac::WritePrefs(nsIPrintSettings* aPS, const nsString& aPrefName, PRUint32 aFlags)
|
||||
{
|
||||
nsresult rv;
|
||||
|
||||
rv = nsPrintOptions::WritePrefs(aPS, aPrefName, aFlags);
|
||||
NS_ASSERTION(NS_SUCCEEDED(rv), "nsPrintOptions::WritePrefs() failed");
|
||||
|
||||
nsCOMPtr<nsIPrintSettingsMac> printSettingsMac(do_QueryInterface(aPS));
|
||||
if (!printSettingsMac)
|
||||
return NS_ERROR_NO_INTERFACE;
|
||||
rv = printSettingsMac->WritePageSetupToPrefs();
|
||||
NS_ASSERTION(NS_SUCCEEDED(rv), "nsIPrintSettingsX::WritePageFormatToPrefs() failed");
|
||||
|
||||
return NS_OK;
|
||||
}
|
|
@ -1,71 +0,0 @@
|
|||
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is the Mozilla browser.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications, Inc.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1999
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Travis Bogard <travis@netscape.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifndef nsPrintOptionsMac_h__
|
||||
#define nsPrintOptionsMac_h__
|
||||
|
||||
#include "nsPrintOptionsImpl.h"
|
||||
#include <Printing.h>
|
||||
|
||||
|
||||
//*****************************************************************************
|
||||
//*** nsPrintOptions
|
||||
//*****************************************************************************
|
||||
#if !TARGET_CARBON
|
||||
|
||||
class nsPrintOptionsMac : public nsPrintOptions
|
||||
{
|
||||
public:
|
||||
nsPrintOptionsMac();
|
||||
virtual ~nsPrintOptionsMac();
|
||||
|
||||
NS_IMETHOD ShowPrintSetupDialog(nsIPrintSettings *aThePrintSettings);
|
||||
|
||||
NS_IMETHOD GetNativeData(PRInt16 aDataType, void * *_retval);
|
||||
|
||||
protected:
|
||||
nsresult _CreatePrintSettings(nsIPrintSettings **_retval);
|
||||
|
||||
nsresult ReadPrefs(nsIPrintSettings* aPS, const nsString& aPrefName, PRUint32 aFlags);
|
||||
nsresult WritePrefs(nsIPrintSettings* aPS, const nsString& aPrefName, PRUint32 aFlags);
|
||||
};
|
||||
|
||||
#endif /* TARGET_CARBON */
|
||||
|
||||
#endif /* nsPrintOptionsMac_h__ */
|
|
@ -40,7 +40,6 @@
|
|||
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsIServiceManager.h"
|
||||
#include "nsWatchTask.h"
|
||||
#include "nsPrintOptionsX.h"
|
||||
#include "nsPrintSettingsX.h"
|
||||
|
||||
|
|
|
@ -1,236 +0,0 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Conrad Carlen <ccarlen@netscape.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include "nsPrintSettingsMac.h"
|
||||
#include "nsIPrefService.h"
|
||||
#include "nsIPrefBranch.h"
|
||||
#include "nsIServiceManager.h"
|
||||
|
||||
#include "plbase64.h"
|
||||
#include "prmem.h"
|
||||
#include "nsGfxUtils.h"
|
||||
|
||||
// Constants
|
||||
#define PRINTING_PREF_BRANCH "print."
|
||||
#define MAC_OS_PAGE_SETUP_PREFNAME "macos.pagesetup"
|
||||
|
||||
NS_IMPL_ISUPPORTS_INHERITED1(nsPrintSettingsMac,
|
||||
nsPrintSettings,
|
||||
nsIPrintSettingsMac)
|
||||
|
||||
/** ---------------------------------------------------
|
||||
*/
|
||||
nsPrintSettingsMac::nsPrintSettingsMac() :
|
||||
mPrintRecord(nsnull)
|
||||
{
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------
|
||||
*/
|
||||
nsPrintSettingsMac::nsPrintSettingsMac(const nsPrintSettingsMac& src) :
|
||||
mPrintRecord(nsnull)
|
||||
{
|
||||
*this = src;
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------
|
||||
*/
|
||||
nsPrintSettingsMac::~nsPrintSettingsMac()
|
||||
{
|
||||
if (mPrintRecord)
|
||||
::DisposeHandle((Handle)mPrintRecord);
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------
|
||||
*/
|
||||
nsPrintSettingsMac& nsPrintSettingsMac::operator=(const nsPrintSettingsMac& rhs)
|
||||
{
|
||||
if (this == &rhs) {
|
||||
return *this;
|
||||
}
|
||||
|
||||
nsPrintSettings::operator=(rhs);
|
||||
|
||||
if (mPrintRecord) {
|
||||
::DisposeHandle((Handle)mPrintRecord);
|
||||
mPrintRecord = nsnull;
|
||||
}
|
||||
Handle copyH = (Handle)rhs.mPrintRecord;
|
||||
if (::HandToHand(©H) == noErr)
|
||||
mPrintRecord = (THPrint)copyH;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------
|
||||
*/
|
||||
NS_IMETHODIMP nsPrintSettingsMac::Init()
|
||||
{
|
||||
// create the print style and print record
|
||||
mPrintRecord = (THPrint)::NewHandleClear(sizeof(TPrint));
|
||||
if (!mPrintRecord)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
::PrOpen();
|
||||
if (::PrError() != noErr)
|
||||
return NS_ERROR_FAILURE;
|
||||
::PrintDefault(mPrintRecord);
|
||||
::PrClose();
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------
|
||||
*/
|
||||
NS_IMETHODIMP nsPrintSettingsMac::GetTHPrint(THPrint *aThPrint)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aThPrint);
|
||||
*aThPrint = nsnull;
|
||||
|
||||
if (!mPrintRecord)
|
||||
return NS_ERROR_NOT_INITIALIZED;
|
||||
|
||||
Handle temp = (Handle)mPrintRecord;
|
||||
if (::HandToHand(&temp) != noErr)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
*aThPrint = (THPrint)temp;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------
|
||||
*/
|
||||
NS_IMETHODIMP nsPrintSettingsMac::SetTHPrint(THPrint aThPrint)
|
||||
{
|
||||
NS_ENSURE_ARG(aThPrint);
|
||||
|
||||
if (mPrintRecord) {
|
||||
::DisposeHandle((Handle)mPrintRecord);
|
||||
mPrintRecord = nsnull;
|
||||
}
|
||||
mPrintRecord = aThPrint;
|
||||
if (::HandToHand((Handle *)&mPrintRecord) != noErr)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------
|
||||
*/
|
||||
NS_IMETHODIMP nsPrintSettingsMac::ReadPageSetupFromPrefs()
|
||||
{
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsIPrefService> prefService(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
nsCOMPtr<nsIPrefBranch> prefBranch;
|
||||
rv = prefService->GetBranch(PRINTING_PREF_BRANCH, getter_AddRefs(prefBranch));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
nsXPIDLCString encodedData;
|
||||
rv = prefBranch->GetCharPref(MAC_OS_PAGE_SETUP_PREFNAME, getter_Copies(encodedData));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
// decode the base64
|
||||
PRInt32 encodedDataLen = strlen(encodedData.get());
|
||||
char* decodedData = ::PL_Base64Decode(encodedData.get(), encodedDataLen, nsnull);
|
||||
if (!decodedData)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
if (((encodedDataLen * 3) / 4) >= sizeof(TPrint))
|
||||
::BlockMoveData(decodedData, *mPrintRecord, sizeof(TPrint));
|
||||
else
|
||||
rv = NS_ERROR_FAILURE; // the data was too small
|
||||
|
||||
PR_Free(decodedData);
|
||||
return rv;
|
||||
}
|
||||
|
||||
/** ---------------------------------------------------
|
||||
*/
|
||||
|
||||
NS_IMETHODIMP nsPrintSettingsMac::WritePageSetupToPrefs()
|
||||
{
|
||||
if (!mPrintRecord)
|
||||
return NS_ERROR_NOT_INITIALIZED;
|
||||
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsIPrefService> prefService(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
nsCOMPtr<nsIPrefBranch> prefBranch;
|
||||
rv = prefService->GetBranch(PRINTING_PREF_BRANCH, getter_AddRefs(prefBranch));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
StHandleLocker locker((Handle)mPrintRecord);
|
||||
|
||||
nsXPIDLCString encodedData;
|
||||
encodedData.Adopt(::PL_Base64Encode((char *)*mPrintRecord, sizeof(TPrint), nsnull));
|
||||
if (!encodedData.get())
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
return prefBranch->SetCharPref(MAC_OS_PAGE_SETUP_PREFNAME, encodedData);
|
||||
}
|
||||
|
||||
//-------------------------------------------
|
||||
nsresult nsPrintSettingsMac::_Clone(nsIPrintSettings **_retval)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(_retval);
|
||||
*_retval = nsnull;
|
||||
|
||||
nsPrintSettingsMac *newSettings = new nsPrintSettingsMac(*this);
|
||||
if (!newSettings)
|
||||
return NS_ERROR_FAILURE;
|
||||
*_retval = newSettings;
|
||||
NS_ADDREF(*_retval);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
//-------------------------------------------
|
||||
nsresult nsPrintSettingsMac::_Assign(nsIPrintSettings *aPS)
|
||||
{
|
||||
nsPrintSettingsMac *printSettingsMac = dynamic_cast<nsPrintSettingsMac*>(aPS);
|
||||
if (!printSettingsMac)
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
*this = *printSettingsMac;
|
||||
return NS_OK;
|
||||
}
|
||||
|
|
@ -1,77 +0,0 @@
|
|||
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is the Mozilla browser.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications, Inc.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1999
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifndef nsPrintSettingsMac_h__
|
||||
#define nsPrintSettingsMac_h__
|
||||
|
||||
#include "nsPrintSettingsImpl.h"
|
||||
#include "nsIPrintSettingsMac.h"
|
||||
#include <Printing.h>
|
||||
|
||||
|
||||
//*****************************************************************************
|
||||
//*** nsPrintSettingsMac
|
||||
//*****************************************************************************
|
||||
#if !TARGET_CARBON
|
||||
|
||||
class nsPrintSettingsMac : public nsPrintSettings,
|
||||
public nsIPrintSettingsMac
|
||||
{
|
||||
public:
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_NSIPRINTSETTINGSMAC
|
||||
|
||||
nsPrintSettingsMac();
|
||||
virtual ~nsPrintSettingsMac();
|
||||
|
||||
nsresult Init();
|
||||
|
||||
protected:
|
||||
nsPrintSettingsMac(const nsPrintSettingsMac& src);
|
||||
nsPrintSettingsMac& operator=(const nsPrintSettingsMac& rhs);
|
||||
|
||||
nsresult _Clone(nsIPrintSettings **_retval);
|
||||
nsresult _Assign(nsIPrintSettings *aPS);
|
||||
|
||||
THPrint mPrintRecord;
|
||||
|
||||
};
|
||||
|
||||
#endif /* TARGET_CARBON */
|
||||
|
||||
#endif /* nsPrintSettingsMac_h__ */
|
|
@ -36,11 +36,7 @@
|
|||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include "nsScreenMac.h"
|
||||
#if TARGET_CARBON
|
||||
#include <MacWindows.h>
|
||||
#else
|
||||
#include <Menus.h>
|
||||
#endif
|
||||
|
||||
nsScreenMac :: nsScreenMac ( GDHandle inScreen )
|
||||
: mScreen(inScreen)
|
||||
|
@ -81,11 +77,7 @@ nsScreenMac :: GetAvailRect(PRInt32 *outLeft, PRInt32 *outTop, PRInt32 *outWidth
|
|||
{
|
||||
Rect adjustedRect;
|
||||
|
||||
#if TARGET_CARBON
|
||||
::GetAvailableWindowPositioningBounds ( mScreen, &adjustedRect );
|
||||
#else
|
||||
SubtractMenuBar ( (**mScreen).gdRect, &adjustedRect );
|
||||
#endif
|
||||
|
||||
*outLeft = adjustedRect.left;
|
||||
*outTop = adjustedRect.top;
|
||||
|
@ -115,23 +107,3 @@ nsScreenMac :: GetColorDepth(PRInt32 *aColorDepth)
|
|||
|
||||
} // GetColorDepth
|
||||
|
||||
|
||||
#if !TARGET_CARBON
|
||||
|
||||
//
|
||||
// SubtractMenuBar
|
||||
//
|
||||
// Take out the menu bar from the reported size of this screen, but only
|
||||
// if it is the primary screen
|
||||
//
|
||||
void
|
||||
nsScreenMac :: SubtractMenuBar ( const Rect & inScreenRect, Rect* outAdjustedRect )
|
||||
{
|
||||
// if the screen we're being asked about is the main screen (ie, has the menu
|
||||
// bar), then subract out the menubar from the rect that we're returning.
|
||||
*outAdjustedRect = inScreenRect;
|
||||
if ( IsPrimaryScreen() )
|
||||
outAdjustedRect->top += ::GetMBarHeight();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -55,11 +55,6 @@ public:
|
|||
|
||||
private:
|
||||
|
||||
#if !TARGET_CARBON
|
||||
// Take out the menu bar from the reported size of this screen.
|
||||
void SubtractMenuBar ( const Rect & inScreenRect, Rect* outAdjustedRect ) ;
|
||||
#endif
|
||||
|
||||
// are we the primary screen? Needed so we can sub out the menubar if
|
||||
// asked.
|
||||
PRBool IsPrimaryScreen ( ) const { return (mScreen == ::GetMainDevice()); }
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include <Script.h>
|
||||
#include "nsDeviceContextMac.h"
|
||||
#include "plhash.h"
|
||||
|
@ -45,6 +46,7 @@
|
|||
#include "nsIUnicodeEncoder.h"
|
||||
#include "nsCompressedCharMap.h"
|
||||
#include "nsMacUnicodeFontInfo.h"
|
||||
|
||||
#define BAD_FONT_NUM -1
|
||||
#define BAD_SCRIPT 0x7f
|
||||
|
||||
|
|
|
@ -43,9 +43,11 @@
|
|||
#include "nsReadableUtils.h"
|
||||
#include "nsString.h"
|
||||
#include "nsCRT.h"
|
||||
|
||||
static NS_DEFINE_CID(kPrefCID, NS_PREF_CID);
|
||||
|
||||
#define BAD_FONT_NUM -1
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
nsUnicodeMappingUtil *nsUnicodeMappingUtil::gSingleton = nsnull;
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include "nsUnicodeRenderingToolkit.h"
|
||||
#include "nsUnicodeFontMappingMac.h"
|
||||
#include "nsUnicodeFallbackCache.h"
|
||||
|
@ -53,10 +54,10 @@
|
|||
|
||||
#include <FixMath.h>
|
||||
|
||||
|
||||
#define BAD_FONT_NUM -1
|
||||
#define BAD_SCRIPT 0x7F
|
||||
#define STACK_TRESHOLD 1000
|
||||
|
||||
static NS_DEFINE_CID(kSaveAsCharsetCID, NS_SAVEASCHARSET_CID);
|
||||
|
||||
//#define DISABLE_TEC_FALLBACK
|
||||
|
|
|
@ -35,7 +35,6 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
|
||||
#include "nsWatchTask.h"
|
||||
#include <LowMem.h>
|
||||
#include <Appearance.h>
|
||||
|
@ -67,10 +66,6 @@ nsWatchTask :: nsWatchTask ( )
|
|||
|
||||
nsWatchTask :: ~nsWatchTask ( )
|
||||
{
|
||||
#if !TARGET_CARBON
|
||||
if ( mInstallSucceeded )
|
||||
::VRemove ( (QElemPtr)&mTask );
|
||||
#endif
|
||||
InitCursor();
|
||||
}
|
||||
|
||||
|
@ -85,23 +80,6 @@ nsWatchTask :: ~nsWatchTask ( )
|
|||
void
|
||||
nsWatchTask :: Start ( )
|
||||
{
|
||||
#if !TARGET_CARBON
|
||||
// get the watch cursor and lock it high
|
||||
CursHandle watch = ::GetCursor ( watchCursor );
|
||||
if ( !watch )
|
||||
return;
|
||||
mWatchCursor = **watch;
|
||||
|
||||
// setup the task
|
||||
mTask.qType = vType;
|
||||
mTask.vblAddr = NewVBLProc((VBLProcPtr)DoWatchTask);
|
||||
mTask.vblCount = kRepeatInterval;
|
||||
mTask.vblPhase = 0;
|
||||
|
||||
// install it
|
||||
mInstallSucceeded = ::VInstall((QElemPtr)&mTask) == noErr;
|
||||
#endif
|
||||
|
||||
} // Start
|
||||
|
||||
|
||||
|
@ -121,11 +99,7 @@ nsWatchTask :: DoWatchTask ( nsWatchTask* inSelf )
|
|||
{
|
||||
if ( inSelf->mChecksum == 'mozz' ) {
|
||||
if ( !inSelf->mSuspended ) {
|
||||
#if TARGET_CARBON
|
||||
PRBool busy = inSelf->mBusy;
|
||||
#else
|
||||
PRBool busy = inSelf->mBusy && LMGetCrsrBusy();
|
||||
#endif
|
||||
if ( !busy ) {
|
||||
if ( ::TickCount() - inSelf->mTicks > kTicksToShowWatch ) {
|
||||
::SetCursor ( &(inSelf->mWatchCursor) );
|
||||
|
@ -138,11 +112,6 @@ nsWatchTask :: DoWatchTask ( nsWatchTask* inSelf )
|
|||
// next frame in cursor animation
|
||||
++inSelf->mAnimation;
|
||||
}
|
||||
|
||||
#if !TARGET_CARBON
|
||||
// reset the task to fire again
|
||||
inSelf->mTask.vblCount = kRepeatInterval;
|
||||
#endif
|
||||
} // if valid checksum
|
||||
|
||||
} // DoWatchTask
|
||||
|
|
|
@ -39,11 +39,11 @@
|
|||
#ifndef WatchTask_h__
|
||||
#define WatchTask_h__
|
||||
|
||||
|
||||
#ifndef XP_MACOSX
|
||||
#include <Retrace.h>
|
||||
#endif
|
||||
#include <Quickdraw.h>
|
||||
|
||||
#include "prtypes.h"
|
||||
#include "gfxCore.h"
|
||||
|
||||
|
@ -87,9 +87,7 @@ private:
|
|||
// the VBL task
|
||||
static pascal void DoWatchTask(nsWatchTask* theTaskPtr) ;
|
||||
|
||||
#if !TARGET_CARBON
|
||||
VBLTask mTask; // this must be first!!
|
||||
#endif
|
||||
|
||||
long mChecksum; // 'mozz' to validate we have real data at interrupt time (not needed?)
|
||||
void* mSelf; // so we can get back to |this| from the static routine
|
||||
long mTicks; // last time the event loop was hit
|
||||
|
|
Загрузка…
Ссылка в новой задаче