xtd 0.2.0
Loading...
Searching...
No Matches
xtd::forms::style_sheets::length Class Reference
Inheritance diagram for xtd::forms::style_sheets::length:
xtd::iequatable< length > xtd::object xtd::interface xtd::equality_operators< type_t, equatable_t >

Definition

The xtd::forms::style_sheets::length specifies the legth and unit of many properties of the xtd::forms::style_sheets::ibox_model.

class forms_export_ length : public xtd::iequatable<length>, public xtd::object
The xtd::forms::style_sheets::length specifies the legth and unit of many properties of the xtd::form...
Definition length.h:77
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.h:22
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.h:42
#define forms_export_
Define shared library export.
Definition forms_export.h:13
Inheritance
xtd::objectxtd::forms::style_sheets::length
Implements
xtd::iequatable <>
Header
#include <xtd/forms/style_sheets/lenght>
Namespace
xtd::forms::style_sheets
Library
xtd.forms
Remarks
CSS has several different units for expressing a length.
Many CSS properties take "length" values, such as width, margin, padding, font-size, etc.
Length is a number followed by a length unit, such as 10px, 2em, etc.CSS has several different units for expressing a length.
Example
Set different length values, using px (pixels):
border-width: 3px;
}
border-width: 1px;
border-radius: 5px;
}
The control selector allows you to specify the box and color of a control.
Definition control.h:35
@ width
Specifies that the width of the control is defined.
Note
A whitespace cannot appear between the number and the unit. However, if the value is 0, the unit can be omitted.
Remarks
For some CSS properties, negative lengths are allowed.
There are two types of length units: absolute and relative.
Absolute lengths
The absolute length units are fixed and a length expressed in any of these will appear as exactly that size.
Enum class value Css potfix Description
centimeters cm centimeters
millimeters  mm  millimeters
inches in inches (1in = 96px = 2.54cm)
pixels px pixels (1px = 1/96th of 1in)
points pt points (1pt = 1/72 of 1in)
picas pc picas (1pc = 12 pt)
Relative lengths
Relative length units specify a length relative to another length property. Relative length units scales better between different rendering mediums.
Enum class value Css potfix Description
element em Relative to the font-size of the element (2em means 2 times the size of the current font)
element_x_height ex Relative to the x-height of the current font (rarely used)
chase ch Relative to width of the "0" (zero)
root_element rem Relative to font-size of the root element
viewport_width vw Relative to 1% of the width of the viewport(*)
viewport_height vh Relative to 1% of the height of the viewport(*)
viewport_min vmin Relative to 1% of viewport's* smaller dimension
viewport_max vmax Relative to 1% of viewport's* larger dimension
percent % Relative to the parent element
Note
The element(em) and root_element(rem) units are practical in creating perfectly scalable layout! (*) Viewport = the bounds of the element. If the viewport is 50cm wide, 1vw = 0.5cm.

Public Fields

static const length empty
 Provides a xtd::forms::style_sheets::length object with 0 pixels.
 

Public Constructors

 length ()=default
 Initializes a new instance of the xtd::forms::style_sheets::length class.
 
 length (double value)
 Initializes a new instance of the xtd::forms::style_sheets::length class with specifed value in pixels.
 
 length (double value, length_unit unit)
 Initializes a new instance of the xtd::forms::style_sheets::length class with specifed value and unit.
 

Peorperties

double value () const noexcept
 Gets the xtd::forms::style_sheets::length value.
 
void value (double value) noexcept
 Sets the xtd::forms::style_sheets::length value.
 
length_unit unit () const noexcept
 Gets the xtd::forms::style_sheets::length unit.
 
void unit (length_unit value) noexcept
 Sets the xtd::forms::style_sheets::length unit.
 

Public Methods

bool equals (const length &other) const noexcept override
 
int32 get_pixels (const xtd::drawing::rectangle &rect) const noexcept
 Gets the legnth in pixels.
 
xtd::string to_string () const noexcept override
 Returns a xtd::string that represents the current object.
 
virtual bool equals (const object &obj) const noexcept
 Determines whether the specified object is equal to the current object.
 
template<typename object_a_t , typename object_b_t >
static bool equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are considered equal.
 

Additional Inherited Members

- Public Member Functions inherited from xtd::iequatable< length >
virtual bool equals (const length &) const noexcept=0
 Indicates whether the current object is equal to another object of the same type.
 
- Public Member Functions inherited from xtd::object
 object ()=default
 Create a new instance of the ultimate base class object.
 
virtual size_t get_hash_code () const noexcept
 Serves as a hash function for a particular type.
 
virtual type_object get_type () const noexcept
 Gets the type of the current instance.
 
template<typename object_t >
xtd::uptr< object_t > memberwise_clone () const
 Creates a shallow copy of the current object.
 
- Static Public Member Functions inherited from xtd::object
template<typename object_a_t , typename object_b_t >
static bool equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are considered equal.
 
template<typename object_a_t , typename object_b_t >
static bool reference_equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are the same instance.
 

Constructor & Destructor Documentation

◆ length() [1/3]

xtd::forms::style_sheets::length::length ( )
default

Initializes a new instance of the xtd::forms::style_sheets::length class.

◆ length() [2/3]

xtd::forms::style_sheets::length::length ( double  value)
explicit

Initializes a new instance of the xtd::forms::style_sheets::length class with specifed value in pixels.

Parameters
valueThe number of pixels to be used for xtd::forms::style_sheets::length.

◆ length() [3/3]

xtd::forms::style_sheets::length::length ( double  value,
length_unit  unit 
)

Initializes a new instance of the xtd::forms::style_sheets::length class with specifed value and unit.

Parameters
valueThe number of unit to be used for xtd::forms::style_sheets::length.
unitOne of xtd::forms::style_sheets::legth_unit values.

Member Function Documentation

◆ value() [1/2]

double xtd::forms::style_sheets::length::value ( ) const
noexcept

Gets the xtd::forms::style_sheets::length value.

Returns
The value of the xtd::forms::style_sheets::length.

◆ value() [2/2]

void xtd::forms::style_sheets::length::value ( double  value)
noexcept

Sets the xtd::forms::style_sheets::length value.

Parameters
valueThe value of the xtd::forms::style_sheets::length.

◆ unit() [1/2]

length_unit xtd::forms::style_sheets::length::unit ( ) const
noexcept

Gets the xtd::forms::style_sheets::length unit.

Returns
One of xtd::forms::style_sheets::legth_unit values.

◆ unit() [2/2]

void xtd::forms::style_sheets::length::unit ( length_unit  value)
noexcept

Sets the xtd::forms::style_sheets::length unit.

Parameters
valueOne of xtd::forms::style_sheets::legth_unit values.

◆ get_pixels()

int32 xtd::forms::style_sheets::length::get_pixels ( const xtd::drawing::rectangle rect) const
noexcept

Gets the legnth in pixels.

Parameters
rectThe xtd::drawing::rectangle is used to compute the length for relative length units.
Returns
The legnth in pixels.

◆ to_string()

xtd::string xtd::forms::style_sheets::length::to_string ( ) const
overridevirtualnoexcept

Returns a xtd::string that represents the current object.

Returns
A string that represents the current object.
Examples
The following code example demonstrates what to_string returns.
#include <xtd/xtd>
using namespace xtd;
namespace examples {
namespace object_test {
class object1 : public object {
};
}
}
auto main() -> int {
ptr<object> obj1 = new_ptr<examples::object_test::object1>();
console::write_line(obj1->to_string());
ptr<object> obj2 = new_ptr<date_time>(1971, 1, 5, 23, 5, 0);
console::write_line(obj2->to_string());
ptr<object> obj3 = new_ptr<boolean_object>();
console::write_line(obj3->to_string());
}
// This code produces the following output :
//
// examples::object_test::object1
// Tue Jan 5 23:05:00 1971
// false
static void write_line()
Writes the current line terminator to the standard output stream using the specified format informati...
xtd::sptr< type_t > ptr
The xtd::ptr object is a shared pointer.
Definition ptr.h:27
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10

Reimplemented from xtd::object.

◆ equals() [1/2]

virtual bool xtd::object::equals ( const object obj) const
virtualnoexcept

Determines whether the specified object is equal to the current object.

Parameters
objThe object to compare with the current object.
Returns
true if the specified object is equal to the current object. otherwise, false.
Examples
The following code example compares the current instance with another object.
#include <xtd/console>
using namespace xtd;
auto main() -> int {
auto object1 = new_ptr<object>();
auto object2 = new_ptr<object>();
auto object3 = object2;
console::write_line(object1->equals(*object3));
console::write_line(*object1 == *object3);
object3 = object1;
console::write_line(object1->equals(*object3));
console::write_line(*object1 == *object3);
}
// This code produces the following output :
//
// false
// false
// true
// true

Reimplemented from xtd::object.

◆ equals() [2/2]

template<typename object_a_t , typename object_b_t >
static bool xtd::object::equals ( const object_a_t &  object_a,
const object_b_t &  object_b 
)
inlinestaticnoexcept

Determines whether the specified object instances are considered equal.

Parameters
object_aThe first object to compare.
object_bThe second object to compare.
Returns
true if object_a is the same instance as object_b or if both are null references or if object_a(object_b) returns true. otherwise, false.
Examples
The following code example compares different objects.
#include <xtd/console>
using namespace xtd;
auto main() -> int {
string s1 = "Tom";
string s2 = "Carol";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "Tom";
s2 = "Tom";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "";
s2 = "Tom";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "Carol";
s2 = "";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "";
s2 = "";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
}
// This code produces the following output :
//
// object::equals("Tom", "Carol") => false
// object::equals("Tom", "Tom") => true
// object::equals("", "Tom") => false
// object::equals("Carol", "") => false
// object::equals("", "") => true
virtual bool equals(const object &obj) const noexcept
Determines whether the specified object is equal to the current object.

Member Data Documentation

◆ empty

const length xtd::forms::style_sheets::length::empty
static

Provides a xtd::forms::style_sheets::length object with 0 pixels.


The documentation for this class was generated from the following file: