view oldXMenu/XDestAssoc.c @ 94914:73c093f08fa0

Throughout the file, delete all USE_FONT_BACKEND conditionals. Don't check enable_font_backend. Delete all codes used only when USE_FONT_BACKEND is not defined. (w32font_open): Return a font-object. Make a font-object by font_make_object. Adjusted for the change of struct w32font_info. (w32font_close): Don't free struct font. Adjusted for the change of struct w32font_info. (w32font_encode_char, w32font_text_extents, w32font_draw): Adjusted for the change of struct w32font_info. (w32font_draw): Likewise. (w32font_list_internal): Return a list, not vector. (w32font_open_internal): Change the 4th arg to font-object. Adjusted for the change of struct w32font_info and font-object format. (add_font_name_to_list): Don't downcase names. (w32_enumfont_pattern_entity): Make a font-entity by font_make_entity. Adjusted for the format change of font-entity. Use FONT_SET_STYLE to set a style-related font property. If a font is scalable, set avgwidth property to 0. Set font-entity property by font_put_extra. (font_matches_spec): Adjusted for the format change of font-entity. (w32_weight_table, w32_decode_weight): New variables. (w32_encode_weight): New function. (fill_in_logfont): Adjusted for the format change of font-spec. (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol weight value. (w32font_driver): Adjusted for the change of struct font_driver. (w32font_open_internal): Change last argument from w32font_info struct to font object. Fill in font object from font_entity. Get Outline metrics if possible. Use them to calculate underline position and thickness. Use xlfd name as name property. Don't set codepage. (w32font_open): Pass font_object to w32font_open_internal. Don't update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width. (w32font_draw): Use s->font. (clear_cached_metrics): Don't clear non-existent blocks.
author Kenichi Handa <handa@m17n.org>
date Wed, 14 May 2008 01:02:08 +0000
parents fec5e03aaf59
children ec58e5c426ef 5cc91198ffb2
line wrap: on
line source

/* Copyright    Massachusetts Institute of Technology    1985	*/

#include "copyright.h"


#include <X11/Xlib.h>
#include "X10.h"

/*
 * XDestroyAssocTable - Destroy (free the memory associated with)
 * an XAssocTable.
 */
XDestroyAssocTable(table)
	register XAssocTable *table;
{
	register int i;
	register XAssoc *bucket;
	register XAssoc *Entry, *entry_next;

	/* Free the buckets. */
	for (i = 0; i < table->size; i++) {
		bucket = &table->buckets[i];
		for (
	        	Entry = bucket->next;
			Entry != bucket;
			Entry = entry_next
		) {
		        entry_next = Entry->next;
			free((char *)Entry);
		}
	}

	/* Free the bucket array. */
	free((char *)table->buckets);

	/* Free the table. */
	free((char *)table);
}

/* arch-tag: a536bf02-8d63-45f2-8c1a-c7f9fd4da2cf
   (do not change this comment) */