cr-fonts.h revision 6b15695578f07a3f72c4c9475c1a261a3021472a
/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */
/*
* This file is part of The Croco Library
*
* modify it under the terms of version 2.1 of
* the GNU Lesser General Public
* License as published by the Free Software Foundation.
*
* This program 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 Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*
* Author: Dodji Seketeli
* See COPYRIGHTS file for copyright information.
*/
#ifndef __CR_FONTS_H__
#define __CR_FONTS_H__
#endif
#include "cr-utils.h"
#include "cr-num.h"
/**
*@file
*Various type declarations about font selection related
*properties.
*/
enum CRFontFamilyType
{
/**/
} ;
typedef struct _CRFontFamily CRFontFamily ;
struct _CRFontFamily
{
enum CRFontFamilyType type ;
/*
*The name of the font family, in case
*it is non generic.
*Is set only if the type is FONT_FAMILY_NON_GENERIC.
*/
CRFontFamily *next ;
CRFontFamily *prev ;
} ;
/**
*The different types
*of absolute font size.
*This is used by the 'font-size'
*property defined in css2 spec
*in chapter 15.2.4 .
*These values a indexes of
*table of size so please, do not
*change their definition order unless
*you know what you are doing.
*/
{
} ;
/**
*The different types
*of relative font size.
*This is used by the 'font-size'
*property defined in css2 spec
*in chapter 15.2.4 .
*These values a indexes of
*table of size so please, do not
*change their definition order unless
*you know what you are doing.
*/
enum CRRelativeFontSize
{
} ;
/**
*The type of font-size property.
*Used to define the type of #CRFontSize .
*See css2 spec chapter 15.2.4 to understand.
*/
enum CRFontSizeType {
/**
*If the type of #CRFontSize is
*PREDEFINED_ABSOLUTE_FONT_SIZE,
*the CRFontSize::value.predefined_absolute
*field will be defined.
*/
/**
*If the type of #CRFontSize is
*ABSOLUTE_FONT_SIZE,
*the CRFontSize::value.absolute
*field will be defined.
*/
/**
*If the type of #CRFontSize is
*RELATIVE_FONT_SIZE,
*the CRFontSize::value.relative
*field will be defined.
*/
/**
*If the type of #CRFontSize is
*INHERITED_FONT_SIZE,
*the None of the field of the CRFontSize::value enum
*will be defined.
*/
} ;
typedef struct _CRFontSize CRFontSize ;
struct _CRFontSize {
enum CRFontSizeType type ;
union {
enum CRRelativeFontSize relative ;
} value;
} ;
enum CRFontSizeAdjustType
{
} ;
typedef struct _CRFontSizeAdjust CRFontSizeAdjust ;
struct _CRFontSizeAdjust
{
enum CRFontSizeAdjustType type ;
} ;
enum CRFontStyle
{
} ;
enum CRFontVariant
{
} ;
enum CRFontWeight
{
FONT_WEIGHT_NORMAL = 1,
} ;
enum CRFontStretch
{
} ;
/**************************************
*'font-family' manipulation functions
***************************************/
guchar *
enum CRStatus
enum CRStatus
/************************************
*'font-size' manipulation functions
***********************************/
CRFontSize * cr_font_size_new (void) ;
CRFontSize *a_src) ;
enum CRRelativeFontSize a_relative) ;
enum CRNumType a_num_type,
/*******************************************************
*'font-size-adjust' manipulation function declarations
*******************************************************/
CRFontSizeAdjust * cr_font_size_adjust_new (void) ;
void
void
/***********************************
*various other font related functions
***********************************/
enum CRFontWeight