bug 112516 move shared gtk files to x11shared

Makefile.in changes r=cls
the files were moved but not otherwise changed


git-svn-id: svn://10.0.0.236/trunk@111462 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bstell%ix.netcom.com
2002-01-06 20:11:51 +00:00
parent fe1ce96e45
commit aedf2a91ed
5 changed files with 0 additions and 438 deletions

View File

@@ -1,75 +0,0 @@
#ifndef NSANTIALIASEDGLYPH_H
#define NSANTIALIASEDGLYPH_H
#include "nscore.h"
struct _XImage;
#ifndef MIN
#define MIN(a,b) (((a) <= (b)) ? (a) : (b))
#endif
#ifndef MAX
#define MAX(a,b) (((a) >= (b)) ? (a) : (b))
#endif
#define GLYPH_LEFT_EDGE(m) MIN(0, (m)->lbearing)
#define GLYPH_RIGHT_EDGE(m) MAX((m)->width, (m)->rbearing)
typedef struct _GlyphMetrics {
PRUint32 width;
PRUint32 height;
PRInt32 lbearing;
PRInt32 rbearing;
PRInt32 advance;
PRInt32 ascent;
PRInt32 descent;
} GlyphMetrics;
//
// Grey scale image
//
class nsAntiAliasedGlyph {
public:
nsAntiAliasedGlyph(PRUint32 aWidth, PRUint32 aHeight, PRUint32 aBorder);
~nsAntiAliasedGlyph();
PRBool Init(); // alloc a buffer
PRBool Init(PRUint8 *aBuffer, PRUint32 aBufferLen); // use this buffer
inline PRUint32 GetBorder() { return mBorder; };
inline PRUint8 *GetBuffer() { return mBuffer; };
inline PRUint32 GetBufferLen() { return mBufferLen; };
inline PRUint32 GetBufferWidth() { return mBufferWidth; };
inline PRUint32 GetBufferHeight() { return mBufferHeight; };
inline PRInt32 GetAdvance() { return mAdvance; };
inline PRInt32 GetLBearing() { return mLBearing; };
inline PRInt32 GetRBearing() { return mRBearing; };
inline PRUint32 GetWidth() { return mWidth; };
inline PRUint32 GetHeight() { return mHeight; };
PRBool SetImage(XCharStruct *, _XImage *);
PRBool SetSize(GlyphMetrics *);
protected:
PRUint32 mBorder;
PRInt32 mAscent;
PRInt32 mDescent;
PRInt32 mLBearing;
PRInt32 mRBearing;
PRInt32 mAdvance;
PRUint32 mWidth;
PRUint32 mHeight;
PRUint32 mMaxWidth;
PRUint32 mMaxHeight;
PRUint32 mBufferWidth; // mWidth may be smaller
PRUint32 mBufferHeight; // mHeight may be smaller
PRBool mOwnBuffer;
PRUint8 *mBuffer;
PRUint32 mBufferLen;
};
#endif /* NSANTIALIASEDGLYPH_H */

View File

@@ -1,95 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Netscape 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/NPL/
*
* 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 Netscape.com code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Brian Stell <bstell@netscape.com>
*
*
* Alternatively, the contents of this file may be used under the terms of
* either 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 NPL, 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 NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef nsX11AlphaBlend_h__
#define nsX11AlphaBlend_h__
#include <X11/Xlib.h>
#include "nsColor.h"
class nsAntiAliasedGlyph;
#ifdef DEBUG
void AADrawBox(XImage *, PRInt32, PRInt32, PRInt32, PRInt32, nscolor, PRUint8);
#endif
void nsX11AlphaBlendFreeGlobals(void);
nsresult nsX11AlphaBlendInitGlobals(Display *dsp);
typedef void (*blendGlyph)(XImage *, nsAntiAliasedGlyph *, PRUint8*,
nscolor, int, int);
typedef void (*blendPixel)(XImage *, int, int, nscolor, int);
typedef nscolor (*pixelToNSColor)(unsigned long aPixel);
///////////////////////////////////////////////////////////////////////
//
// class nsX11AlphaBlend class definition
//
///////////////////////////////////////////////////////////////////////
class nsX11AlphaBlend {
public:
inline static PRBool CanAntiAlias() { return sAvailable; };
inline static blendPixel GetBlendPixel() { return sBlendPixel; };
inline static blendGlyph GetBlendGlyph() { return sBlendMonoImage; };
static XImage* GetXImage(PRUint32 width, PRUint32 height);
static void FreeGlobals();
static nsresult InitGlobals(Display *dsp);
static XImage* GetBackground(Display *, int, Drawable,
PRInt32, PRInt32, PRUint32, PRUint32);
static nscolor PixelToNSColor(unsigned long aPixel);
protected:
static void ClearGlobals();
static void ClearFunctions();
static PRBool InitLibrary(Display *dsp);
static PRBool sAvailable;
static PRUint16 sBitmapPad;
static PRUint16 sBitsPerPixel;
static blendGlyph sBlendMonoImage;
static blendPixel sBlendPixel;
static PRUint16 sBytesPerPixel;
static int sDepth;
static PRBool sInited;
static pixelToNSColor sPixelToNSColor;
};
#endif /* nsX11AlphaBlend_h__ */

View File

@@ -1,67 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ex: set tabstop=8 softtabstop=2 shiftwidth=2 expandtab: */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Netscape 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/NPL/
*
* 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) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Brian Stell <bstell@netscape.com>
*
*
* Alternatively, the contents of this file may be used under the terms of
* either 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 NPL, 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 NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef nsXFont_h__
#define nsXFont_h__
class nsXFont {
public:
virtual ~nsXFont() { };
virtual void DrawText8(GdkDrawable *Drawable, GdkGC *GC, PRInt32,
PRInt32, const char *, PRUint32) = 0;
virtual void DrawText16(GdkDrawable *Drawable, GdkGC *GC, PRInt32,
PRInt32, const XChar2b *, PRUint32) = 0;
virtual PRBool GetXFontProperty(Atom, unsigned long *) = 0;
virtual XFontStruct *GetXFontStruct() = 0;
inline PRBool IsSingleByte() { return mIsSingleByte; };
virtual PRBool LoadFont() = 0;
virtual void TextExtents8(const char *, PRUint32, PRInt32*, PRInt32*,
PRInt32*, PRInt32*, PRInt32*) = 0;
virtual void TextExtents16(const XChar2b *, PRUint32, PRInt32*,
PRInt32*, PRInt32*, PRInt32*, PRInt32*) =0;
virtual PRInt32 TextWidth8(const char *, PRUint32) = 0;
virtual PRInt32 TextWidth16(const XChar2b *, PRUint32) = 0;
//protected:
virtual void UnloadFont() = 0;
protected:
PRBool mIsSingleByte;
};
#endif /* nsXFont_h__ */

View File

@@ -1,127 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ex: set tabstop=8 softtabstop=2 shiftwidth=2 expandtab: */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Netscape 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/NPL/
*
* 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) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Brian Stell <bstell@netscape.com>
*
*
* Alternatively, the contents of this file may be used under the terms of
* either 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 NPL, 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 NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef nsXFontAAScaledBitmap_h__
#define nsXFontAAScaledBitmap_h__
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include <X11/Xlib.h>
#include "nspr.h"
#include "nsXFont.h"
#include "nsAntiAliasedGlyph.h"
extern PRUint8 gAASBDarkTextMinValue;
extern double gAASBDarkTextGain;
extern PRUint8 gAASBLightTextMinValue;
extern double gAASBLightTextGain;
#define SCALED_SIZE(x) (PRInt32)(rint(((double)(x))*mRatio))
class nsHashtable;
class nsXFontAAScaledBitmap : public nsXFont {
public:
// we use PRUint16 instead of PRUint32 for the final two arguments in this
// constructor to work around a GCC 2.95[.3] bug which would otherwise cause
// these parameters to be corrupted in the callee. n.b. at the time of
// writing the only caller is passing PRUint16 values anyway (and within
// the constructor we go on toassign a parameter to a PRUint16-sized member
// variable) so semantically nothing is lost.
nsXFontAAScaledBitmap(Display *aDisplay, int aScreen, GdkFont *,
PRUint16, PRUint16);
~nsXFontAAScaledBitmap();
void DrawText8(GdkDrawable *Drawable, GdkGC *GC, PRInt32, PRInt32,
const char *, PRUint32);
void DrawText16(GdkDrawable *Drawable, GdkGC *GC, PRInt32, PRInt32,
const XChar2b *, PRUint32);
PRBool GetXFontProperty(Atom, unsigned long *);
XFontStruct *GetXFontStruct();
PRBool LoadFont();
void TextExtents8(const char *, PRUint32, PRInt32*, PRInt32*,
PRInt32*, PRInt32*, PRInt32*);
void TextExtents16(const XChar2b *, PRUint32, PRInt32*, PRInt32*,
PRInt32*, PRInt32*, PRInt32*);
PRInt32 TextWidth8(const char *, PRUint32);
PRInt32 TextWidth16(const XChar2b *, PRUint32);
void UnloadFont();
public:
static PRBool InitGlobals(Display *aDisplay, int aScreen);
static void FreeGlobals();
protected:
void DrawText8or16(GdkDrawable *Drawable, GdkGC *GC, PRInt32,
PRInt32, void *, PRUint32);
void TextExtents8or16(void *, PRUint32, PRInt32*, PRInt32*,
PRInt32*, PRInt32*, PRInt32*);
PRBool GetScaledGreyImage(const char *, nsAntiAliasedGlyph **);
#ifdef DEBUG
void dump_XImage_blue_data(XImage *ximage);
#endif
static PRBool DisplayIsLocal(Display *);
protected:
PRBool mAlreadyLoaded;
Display *mDisplay;
GC mForegroundGC;
GdkFont *mGdkFont;
nsHashtable* mGlyphHash;
double mRatio;
XFontStruct mScaledFontInfo;
GlyphMetrics mScaledMax;
int mScreen;
Pixmap mUnscaledBitmap;
XFontStruct *mUnscaledFontInfo;
GlyphMetrics mUnscaledMax;
PRUint16 mUnscaledSize;
// class globals
protected:
static Display *sDisplay;
static GC sBackgroundGC; // used to clear the pixmaps
// before drawing the glyph
static PRUint8 sWeightedScaleDarkText[256];
static PRUint8 sWeightedScaleLightText[256];
};
#endif /* nsXFontAAScaledBitmap_h__ */

View File

@@ -1,74 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ex: set tabstop=8 softtabstop=2 shiftwidth=2 expandtab: */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Netscape 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/NPL/
*
* 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) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Brian Stell <bstell@netscape.com>
*
*
* Alternatively, the contents of this file may be used under the terms of
* either 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 NPL, 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 NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef nsXFontNormal_h__
#define nsXFontNormal_h__
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include <X11/Xlib.h>
#include "nspr.h"
#include "nsXFont.h"
class nsXFontNormal : public nsXFont {
public:
nsXFontNormal(GdkFont *);
~nsXFontNormal();
void DrawText8(GdkDrawable *Drawable, GdkGC *GC, PRInt32, PRInt32,
const char *, PRUint32);
void DrawText16(GdkDrawable *Drawable, GdkGC *GC, PRInt32, PRInt32,
const XChar2b *, PRUint32);
PRBool GetXFontProperty(Atom, unsigned long *);
XFontStruct *GetXFontStruct();
PRBool LoadFont();
void TextExtents8(const char *, PRUint32, PRInt32*, PRInt32*,
PRInt32*, PRInt32*, PRInt32*);
void TextExtents16(const XChar2b *, PRUint32, PRInt32*, PRInt32*,
PRInt32*, PRInt32*, PRInt32*);
PRInt32 TextWidth8(const char *, PRUint32);
PRInt32 TextWidth16(const XChar2b *, PRUint32);
void UnloadFont();
protected:
GdkFont *mGdkFont;
};
#endif /* nsXFontNormal_h__ */