Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

cr-num.h File Reference

The declaration of the CRNum class. More...

#include <glib.h>
#include "cr-utils.h"

Go to the source code of this file.

Data Structures

struct  _CRNum
 An abstraction of a number (num) as defined in the css2 spec. More...


Typedefs

typedef _CRNum CRNum
 An abstraction of a number (num) as defined in the css2 spec.


Enumerations

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_UNKNOWN_TYPE
}
 The different types of numbers. More...


Functions

CRNumcr_num_new (void)
 The default constructor of CRNum.

CRNumcr_num_new_with_val (gdouble a_val, enum CRNumType a_type)
 A constructor of CRNum.

CRNumcr_num_dup (CRNum *a_this)
 Duplicates an instance of CRNum.

guchar * cr_num_to_string (CRNum *a_this)
 Returns the string representation of the current instance of CRNum.

void cr_num_set_type (CRNum *a_this, enum CRNumType a_type)
enum CRStatus cr_num_copy (CRNum *a_dest, CRNum *a_src)
 Copies an instance of CRNum.

enum CRStatus cr_num_set (CRNum *a_this, gdouble a_val, enum CRNumType a_type)
 Sets an instance of CRNum.

gboolean cr_num_is_fixed_length (CRNum *a_this)
 Tests if the current instance of CRNum is a fixed length value or not.

void cr_num_destroy (CRNum *a_this)
 The destructor of CRNum.


Detailed Description

The declaration of the CRNum class.

Definition in file cr-num.h.


Typedef Documentation

typedef struct _CRNum CRNum
 

An abstraction of a number (num) as defined in the css2 spec.

Definition at line 84 of file cr-num.h.


Enumeration Type Documentation

enum CRNumType
 

The different types of numbers.

Please, do not modify the declaration order of the enum members, unless you know what you are doing.

Enumeration values:
NUM_AUTO 
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_UNKNOWN_TYPE 

Definition at line 56 of file cr-num.h.


Function Documentation

enum CRStatus cr_num_copy CRNum a_dest,
CRNum a_src
 

Copies an instance of CRNum.

Parameters:
a_src the instance of CRNum to copy. Must be non NULL.
a_dst the destination of the copy. Must be non NULL
Returns:
CR_OK upon sucessfull completion, an error code otherwise.

Definition at line 214 of file cr-num.c.

References CR_BAD_PARAM_ERROR, and CR_OK.

Referenced by cr_font_size_copy(), and cr_num_dup().

void cr_num_destroy CRNum a_this  ) 
 

The destructor of CRNum.

Parameters:
a_this the this pointer of the current instance of CRNum.

Definition at line 300 of file cr-num.c.

Referenced by cr_font_size_adjust_destroy(), cr_font_size_clear(), and cr_font_size_destroy().

CRNum* cr_num_dup CRNum a_this  ) 
 

Duplicates an instance of CRNum.

Parameters:
a_this the instance of CRNum to duplicate.
Returns:
the newly created (duplicated) instance of CRNum. Must be freed by cr_num_destroy().

Definition at line 232 of file cr-num.c.

References cr_num_copy(), cr_num_new(), CR_OK, and CRStatus.

gboolean cr_num_is_fixed_length CRNum a_this  ) 
 

Tests if the current instance of CRNum is a fixed length value or not.

Typically a fixed length value is anything from NUM_LENTGTH_EM to NUM_LENGTH_PC. See the definition of CRNumType to see what we mean.

Returns:
TRUE if the instance of CRNum is a fixed length number, FALSE otherwise.

Definition at line 275 of file cr-num.c.

References NUM_LENGTH_EM, NUM_LENGTH_PC, and _CRNum::type.

CRNum* cr_num_new void   ) 
 

The default constructor of CRNum.

Returns:
the newly built instance of CRNum.

Definition at line 44 of file cr-num.c.

References cr_utils_trace_info.

Referenced by cr_font_size_copy(), cr_num_dup(), and cr_num_new_with_val().

CRNum* cr_num_new_with_val gdouble  a_val,
enum CRNumType  a_type
 

A constructor of CRNum.

Parameters:
a_is_natural whether if the intance of CRNum is a natural number or not.
a_integer_part the integer part of the instance of CRNum
a_decimal_part in case the instance of CRNum natural number (but a decimal one) this parameter is the decimal part of the instance of CRNum.
Returns:
the newly built instance of CRNum or NULL if an error arises.

Definition at line 75 of file cr-num.c.

References cr_num_new(), _CRNum::type, and _CRNum::val.

enum CRStatus cr_num_set CRNum a_this,
gdouble  a_val,
enum CRNumType  a_type
 

Sets an instance of CRNum.

Parameters:
a_this the current instance of CRNum to be set.
a_val the new numerical value to be hold by the current instance of CRNum
a_type the new type of CRNum.

Definition at line 256 of file cr-num.c.

References CR_BAD_PARAM_ERROR, CR_OK, _CRNum::type, and _CRNum::val.

void cr_num_set_type CRNum a_this,
enum CRNumType  a_type
 

guchar* cr_num_to_string CRNum a_this  ) 
 

Returns the string representation of the current instance of CRNum.

Parameters:
a_this the current instance of CRNum.
Returns:
the newly built string representation of the current instance of CRNum. The returned string is NULL terminated. The caller *must* free the returned string.

Definition at line 100 of file cr-num.c.

References NUM_ANGLE_DEG, NUM_ANGLE_GRAD, NUM_ANGLE_RAD, NUM_FREQ_HZ, NUM_FREQ_KHZ, NUM_LENGTH_CM, NUM_LENGTH_EM, NUM_LENGTH_EX, NUM_LENGTH_IN, NUM_LENGTH_MM, NUM_LENGTH_PC, NUM_LENGTH_PT, NUM_LENGTH_PX, NUM_PERCENTAGE, NUM_TIME_MS, NUM_TIME_S, _CRNum::type, and _CRNum::val.

Referenced by cr_term_to_string().


Generated on Wed Oct 1 01:36:51 2003 for Libcroco by doxygen 1.3.3