![Federico Mena Quintero](/assets/img/avatar_default.png)
This is all of the original libcroco, minus these two which we don't use: - cr-sel-eng - the CSS selection engine for xmlNode. - cr-style. Part of https://gitlab.gnome.org/GNOME/gnome-shell/issues/1934
128 lines
2.5 KiB
C
128 lines
2.5 KiB
C
/* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */
|
|
|
|
/*
|
|
* This file is part of The Croco Library
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* 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
|
|
*/
|
|
|
|
|
|
/**
|
|
*@file
|
|
*The declaration
|
|
*of the #CRNum class.
|
|
*/
|
|
|
|
#ifndef __CR_NUM_H__
|
|
#define __CR_NUM_H__
|
|
|
|
#include <glib.h>
|
|
#include "cr-utils.h"
|
|
#include "cr-parsing-location.h"
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
/**
|
|
*@file
|
|
*The declaration of the #CRNum class.
|
|
*
|
|
*/
|
|
|
|
/**
|
|
*The different types
|
|
*of numbers.
|
|
*Please, do not modify
|
|
*the declaration order of the enum
|
|
*members, unless you know
|
|
*what you are doing.
|
|
*/
|
|
enum CRNumType
|
|
{
|
|
NUM_AUTO = 0,
|
|
NUM_GENERIC,
|
|
NUM_LENGTH_EM,
|
|
NUM_LENGTH_EX,
|
|
NUM_LENGTH_PX,
|
|
NUM_LENGTH_IN,
|
|
NUM_LENGTH_CM,
|
|
NUM_LENGTH_MM,
|
|
NUM_LENGTH_PT,
|
|
NUM_LENGTH_PC,
|
|
NUM_ANGLE_DEG,
|
|
NUM_ANGLE_RAD,
|
|
NUM_ANGLE_GRAD,
|
|
NUM_TIME_MS,
|
|
NUM_TIME_S,
|
|
NUM_FREQ_HZ,
|
|
NUM_FREQ_KHZ,
|
|
NUM_PERCENTAGE,
|
|
NUM_INHERIT,
|
|
NUM_UNKNOWN_TYPE,
|
|
NB_NUM_TYPE
|
|
} ;
|
|
|
|
|
|
/**
|
|
*An abstraction of a number (num)
|
|
*as defined in the css2 spec.
|
|
*/
|
|
typedef struct _CRNum CRNum ;
|
|
|
|
/**
|
|
*An abstraction of a number (num)
|
|
*as defined in the css2 spec.
|
|
*/
|
|
struct _CRNum
|
|
{
|
|
enum CRNumType type ;
|
|
gdouble val ;
|
|
CRParsingLocation location ;
|
|
} ;
|
|
|
|
CRNum *
|
|
cr_num_new (void) ;
|
|
|
|
CRNum *
|
|
cr_num_new_with_val (gdouble a_val,
|
|
enum CRNumType a_type) ;
|
|
|
|
CRNum *
|
|
cr_num_dup (CRNum const *a_this) ;
|
|
|
|
guchar *
|
|
cr_num_to_string (CRNum const *a_this) ;
|
|
|
|
enum CRStatus
|
|
cr_num_copy (CRNum *a_dest, CRNum const *a_src) ;
|
|
|
|
enum CRStatus
|
|
cr_num_set (CRNum *a_this, gdouble a_val,
|
|
enum CRNumType a_type) ;
|
|
|
|
gboolean
|
|
cr_num_is_fixed_length (CRNum const *a_this) ;
|
|
|
|
void
|
|
cr_num_destroy (CRNum *a_this) ;
|
|
|
|
|
|
G_END_DECLS
|
|
|
|
|
|
#endif /*__CR_NUM_H__*/
|