Thu Apr 25 16:51:40 2002 Owen Taylor <otaylor@redhat.com> Start of integration of Erwann Chenede's multihead work from the gtk-multihead branch. * gdk/gdkdisplay.[ch] gdk/gdkscreen.[ch] gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkscreen-x11.[ch] New classes representing a set of screens with attached input devices and a single contiguous area, respectively. * gdk/gdk.[ch] gdk/gdkinternals.h gdk/x11/gdkmain-x11.c: gdk/x11/gdkprivate-x11.h: Make the initialization interface simple _gdk_windowing_init() and do the rest in gdk_open_display() calls. * gdk/gdk.[ch]: Add gdk_parse_args() which can be used to do the display-independent part of initialization instead of gdk_init_[check]. * gdk/gdkcursor.h gdk/gdkfont.h gdk/gdkkeys.h gdk/gdkpixmap.h gdk/gdkproperty.h gdk/gdkselection.h gdk/gdkwindow.h: Add multihead variants (_for_display(), for_screen()) of functions getting information specific to a particular screen screen or display. * gdk/gdkscreen.[ch]: Add gdk_screen__* variants of functions like gdk_rgb_get_colormap() that used to get/list global objects. * gdk/x11/gdkx.h: Add functions for converting GdkScreen and GdkDisplay into the X equivalents. * gdk/x11/gdkwindow-x11.c: Removed gdk_window_xid_at_coords() not in the headers and unused. * configure.in gdk/x11/{gxid.c,gxid_lib.[ch],gdkinput-gxi.c}: Remove gxid support ... has not been tested for a long time... "xfree" support is more portable to non XFree86. * gdk/**.h: Add a GDK_MULTIHEAD_SAFE define that can be used to turn off functions that are inherently non-multihead safe. * gdk/**.c: add GDK_NOTE(multihead, ...) calls when functions are used in non-multihead-safe ways. * gdk/*.c gdk/x11/*.c: Changes to make the internals of GDK multihead safe.
		
			
				
	
	
		
			83 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* GDK - The GIMP Drawing Kit
 | 
						|
 * Copyright (C) 2000 Red Hat, Inc. 
 | 
						|
 *
 | 
						|
 * This library is free software; you can redistribute it and/or
 | 
						|
 * modify it under the terms of the GNU Lesser 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
 | 
						|
 * Lesser General Public License for more details.
 | 
						|
 *
 | 
						|
 * You should have received a copy of the GNU Lesser General Public
 | 
						|
 * License along with this library; if not, write to the
 | 
						|
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
						|
 * Boston, MA 02111-1307, USA.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef __GDK_PANGO_H__
 | 
						|
#define __GDK_PANGO_H__
 | 
						|
 | 
						|
#include <gdk/gdktypes.h>
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif /* __cplusplus */
 | 
						|
 | 
						|
/* Pango interaction */
 | 
						|
 | 
						|
PangoContext *gdk_pango_context_get_for_screen (GdkScreen    *screen);
 | 
						|
#ifndef GDK_MULTIHEAD_SAFE
 | 
						|
PangoContext *gdk_pango_context_get            (void);
 | 
						|
#endif
 | 
						|
void          gdk_pango_context_set_colormap   (PangoContext *context,
 | 
						|
                                                GdkColormap  *colormap);
 | 
						|
 | 
						|
 | 
						|
/* Get a clip region to draw only part of a layout or
 | 
						|
 * line. index_ranges contains alternating range starts/stops. The
 | 
						|
 * region is the region which contains the given ranges, i.e. if you
 | 
						|
 * draw with the region as clip, only the given ranges are drawn.
 | 
						|
 */
 | 
						|
 | 
						|
GdkRegion    *gdk_pango_layout_line_get_clip_region (PangoLayoutLine *line,
 | 
						|
                                                     gint             x_origin,
 | 
						|
                                                     gint             y_origin,
 | 
						|
                                                     gint            *index_ranges,
 | 
						|
                                                     gint             n_ranges);
 | 
						|
GdkRegion    *gdk_pango_layout_get_clip_region      (PangoLayout     *layout,
 | 
						|
                                                     gint             x_origin,
 | 
						|
                                                     gint             y_origin,
 | 
						|
                                                     gint            *index_ranges,
 | 
						|
                                                     gint             n_ranges);
 | 
						|
 | 
						|
 | 
						|
 | 
						|
/* Attributes use to render insensitive text in GTK+. */
 | 
						|
 | 
						|
typedef struct _GdkPangoAttrStipple GdkPangoAttrStipple;
 | 
						|
typedef struct _GdkPangoAttrEmbossed GdkPangoAttrEmbossed;
 | 
						|
 | 
						|
struct _GdkPangoAttrStipple
 | 
						|
{
 | 
						|
  PangoAttribute attr;
 | 
						|
  GdkBitmap *stipple;
 | 
						|
};
 | 
						|
 | 
						|
struct _GdkPangoAttrEmbossed
 | 
						|
{
 | 
						|
  PangoAttribute attr;
 | 
						|
  gboolean embossed;
 | 
						|
};
 | 
						|
 | 
						|
PangoAttribute *gdk_pango_attr_stipple_new  (GdkBitmap *stipple);
 | 
						|
PangoAttribute *gdk_pango_attr_embossed_new (gboolean embossed);
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif /* __cplusplus */
 | 
						|
 | 
						|
#endif /* __GDK_FONT_H__ */
 |