2002-03-27 23:44:41 +00:00
|
|
|
/* XGGState - Implements graphic state drawing for Xlib
|
|
|
|
|
|
|
|
Copyright (C) 1995 Free Software Foundation, Inc.
|
|
|
|
|
|
|
|
Written by: Adam Fedor <fedor@boulder.colorado.edu>
|
|
|
|
Date: Nov 1995
|
|
|
|
|
|
|
|
This file is part of the GNU Objective C User Interface Library.
|
|
|
|
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
|
|
modify it under the terms of the GNU Library General Public
|
|
|
|
License as published by the Free Software Foundation; either
|
|
|
|
version 2 of the License, or (at your option) any later version.
|
|
|
|
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
Library General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Library General Public
|
|
|
|
License along with this library; if not, write to the Free
|
2006-09-12 09:50:14 +00:00
|
|
|
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
|
|
Boston, MA 02111 USA.
|
2002-03-27 23:44:41 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _XGGState_h_INCLUDE
|
|
|
|
#define _XGGState_h_INCLUDE
|
|
|
|
|
|
|
|
#include <Foundation/NSArray.h>
|
|
|
|
#include <Foundation/NSObject.h>
|
|
|
|
#include "gsc/GSGState.h"
|
2002-04-07 02:26:40 +00:00
|
|
|
#include <X11/Xlib.h>
|
|
|
|
#include <X11/Xutil.h>
|
2002-04-23 21:05:50 +00:00
|
|
|
#include "x11/XGServer.h"
|
2005-05-20 13:57:21 +00:00
|
|
|
#ifdef HAVE_XFT
|
2005-05-12 13:43:18 +00:00
|
|
|
#define id xwindowsid
|
|
|
|
#include <X11/Xft/Xft.h>
|
|
|
|
#undef id
|
|
|
|
#endif
|
2002-03-27 23:44:41 +00:00
|
|
|
|
|
|
|
@class NSBezierPath;
|
|
|
|
@class NSFont;
|
|
|
|
|
|
|
|
@interface XGGState : GSGState
|
|
|
|
{
|
|
|
|
@public
|
|
|
|
void *context;
|
2002-04-15 02:59:15 +00:00
|
|
|
void *windevice;
|
2002-04-23 21:05:50 +00:00
|
|
|
XGDrawMechanism drawMechanism;
|
2002-03-27 23:44:41 +00:00
|
|
|
GC xgcntxt;
|
2002-05-10 15:06:17 +00:00
|
|
|
GC agcntxt;
|
2002-03-27 23:44:41 +00:00
|
|
|
XGCValues gcv;
|
|
|
|
Drawable draw;
|
|
|
|
Drawable alpha_buffer;
|
|
|
|
Region clipregion;
|
2005-05-20 13:57:21 +00:00
|
|
|
#ifdef HAVE_XFT
|
2005-05-12 13:43:18 +00:00
|
|
|
XftDraw *xft_draw;
|
|
|
|
XftDraw *xft_alpha_draw;
|
|
|
|
XftColor xft_color;
|
|
|
|
#endif
|
2002-03-27 23:44:41 +00:00
|
|
|
|
|
|
|
BOOL drawingAlpha;
|
|
|
|
BOOL sharedGC; /* Do we own the GC or share it? */
|
|
|
|
}
|
|
|
|
|
2002-04-15 02:59:15 +00:00
|
|
|
- (void) setWindowDevice: (void *)device;
|
2002-03-27 23:44:41 +00:00
|
|
|
- (void) setGraphicContext: (GC)xGraphicContext;
|
|
|
|
- (void) setGCValues: (XGCValues)values withMask: (int)mask;
|
|
|
|
- (void) setClipMask;
|
|
|
|
- (Region) xClipRegion;
|
|
|
|
|
|
|
|
- (BOOL) hasDrawable;
|
|
|
|
- (BOOL) hasGraphicContext;
|
2002-04-15 02:59:15 +00:00
|
|
|
- (void *) windevice;
|
2002-03-27 23:44:41 +00:00
|
|
|
- (Drawable) drawable;
|
|
|
|
- (GC) graphicContext;
|
|
|
|
- (NSRect) clipRect;
|
2005-05-20 13:57:21 +00:00
|
|
|
#ifdef HAVE_XFT
|
2005-05-12 13:43:18 +00:00
|
|
|
- (XftDraw *)xftDrawForDrawable: (Drawable)d;
|
|
|
|
- (XftColor)xftColor;
|
|
|
|
#endif
|
2002-03-27 23:44:41 +00:00
|
|
|
|
|
|
|
- (XPoint) viewPointToX: (NSPoint)aPoint;
|
|
|
|
- (XRectangle) viewRectToX: (NSRect)aRect;
|
|
|
|
- (XPoint) windowPointToX: (NSPoint)aPoint;
|
|
|
|
- (XRectangle) windowRectToX: (NSRect)aRect;
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
2003-09-21 03:19:17 +00:00
|
|
|
@interface XGGState (Ops)
|
|
|
|
- (NSDictionary *) GSReadRect: (NSRect)rect;
|
|
|
|
@end
|
|
|
|
|
2002-03-27 23:44:41 +00:00
|
|
|
#endif /* _XGGState_h_INCLUDE */
|
|
|
|
|