view src/fontcolor-x-impl.h @ 5222:18c0b5909d16

Use keywords in structure syntax; new #define, NEED_TO_HANDLE_21_4_CODE 1 src/ChangeLog addition: 2010-05-31 Aidan Kehoe <kehoea@parhasard.net> * rangetab.c (print_range_table, rangetab_instantiate) (structure_type_create_rangetab): * chartab.c (print_char_table, chartab_instantiate) (structure_type_create_chartab): * faces.c (syms_of_faces, print_face, face_validate): Move structure syntax in these files to using keywords by default, as is done in Common Lisp and GNU Emacs, accepting for the moment the older non-keywords syntax too. * glyphs.h: No need to have Q_data here. * general-slots.h: Add Q_data, Q_type here. * config.h.in (NEED_TO_HANDLE_21_4_CODE): New #define, always 1 for the moment, replacing the previous never-really-used NO_NEED_TO_HANDLE_21_4_CODE, and avoiding confusing syntax. * eval.c (Ffuncall): Wrap the hack that allows #'throw to be funcalled in #ifdef NEED_TO_HANDLE_21_4_CODE. * elhash.c (syms_of_elhash): Move Q_type, Q_data to general-slots.h. Change to NEED_TO_HANDLE_21_4_CODE throughout this file. lisp/ChangeLog addition: 2010-05-31 Aidan Kehoe <kehoea@parhasard.net> * specifier.el (current-display-table): Use keywords in the structure syntax here, now we've moved to that by default in C.
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 31 May 2010 16:47:44 +0100
parents 8b2f75cecb89
children 308d34e9f07d
line wrap: on
line source

/* X-specific Lisp objects.
   Copyright (C) 1993, 1994 Free Software Foundation, Inc.
   Copyright (C) 1995 Board of Trustees, University of Illinois.
   Copyright (C) 1995, 1996, 2002 Ben Wing.

This file is part of XEmacs.

XEmacs is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.

XEmacs 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 General Public License
for more details.

You should have received a copy of the GNU General Public License
along with XEmacs; see the file COPYING.  If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.  */

/* Synched up with:  Not in FSF. */

/* This file Mule-ized (more like Mule-verified) by Ben Wing, 7-10-00. */

#ifndef INCLUDED_fontcolor_x_impl_h_
#define INCLUDED_fontcolor_x_impl_h_

#include "fontcolor-impl.h"
#include "fontcolor-x.h"
#ifdef HAVE_XFT
/* for resource name definitions, etc */
#include "../lwlib/lwlib-fonts.h"
#endif

#ifdef HAVE_X_WINDOWS

/*****************************************************************************
 Color-Instance
 ****************************************************************************/

struct x_color_instance_data
{
  XColor color;
  /* Yes, it looks crazy to have both the XColor and the XftColor, but
     pragmatically both are used. */
#ifdef HAVE_XFT
  XftColor xftColor;
#endif
  char dealloc_on_gc;
};

#define X_COLOR_INSTANCE_DATA(c) ((struct x_color_instance_data *) (c)->data)
#define COLOR_INSTANCE_X_COLOR(c) (X_COLOR_INSTANCE_DATA (c)->color)
#define XCOLOR_INSTANCE_X_COLOR(c) COLOR_INSTANCE_X_COLOR (XCOLOR_INSTANCE (c))
#ifdef HAVE_XFT
#define COLOR_INSTANCE_X_XFTCOLOR(c) (X_COLOR_INSTANCE_DATA (c)->xftColor)
#endif
#define COLOR_INSTANCE_X_DEALLOC(c) (X_COLOR_INSTANCE_DATA (c)->dealloc_on_gc)

/*****************************************************************************
 Font-Instance
 ****************************************************************************/

struct x_font_instance_data
{
  /* X-specific information */
  /* Yes, it looks crazy to have both the XFontStruct and the XftFont, but
     pragmatically both are used (lwlib delegates labels to the widget sets,
     which internally use XFontStructs). */
  XFontStruct * font;
#ifdef HAVE_XFT
  XftFont *xftFont;
#endif

};

#define X_FONT_INSTANCE_DATA(f) ((struct x_font_instance_data *) (f)->data)
#define FONT_INSTANCE_X_FONT(f) (X_FONT_INSTANCE_DATA (f)->font)
#define XFONT_INSTANCE_X_FONT(c) FONT_INSTANCE_X_FONT (XFONT_INSTANCE (c))
#ifdef HAVE_XFT
#define FONT_INSTANCE_X_XFTFONT(f) (X_FONT_INSTANCE_DATA (f)->xftFont)
#endif

#endif /* HAVE_X_WINDOWS */

#endif /* INCLUDED_fontcolor_x_impl_h_ */