dlangui.core.types

DLANGUI library.

This module declares basic data types for usage in dlangui library.

Synopsis:
import dlangui.core.types;

// points
Point p(5, 10);

// rectangles
Rect r(5, 13, 120, 200);
writeln(r);

// reference counted objects, useful for RAII / resource management.
class Foo : RefCountedObject {
	int[] resource;
	~this() {
		writeln("freeing Foo resources");
	}
}
{
	Ref!Foo ref1;
	{
		Ref!Foo fooRef = new RefCountedObject();
		ref1 = fooRef;
	}
	// RAII: will destroy object when no more references
}



License:
Boost License 1.0

Authors:
Vadim Lopatin, coolreader.org@gmail.com

struct Glyph;
character glyph

uint id;
< 0: unique id of glyph (for drawing in hardware accelerated scenes)

ubyte blackBoxX;
< 4: width of glyph black box

ubyte blackBoxY;
< 5: height of glyph black box

byte originX;
< 6: X origin for glyph

byte originY;
< 7: Y origin for glyph

ubyte width;
< 8: full width of glyph

ubyte lastUsage;
< 9: usage flag, to handle cleanup of unused glyphs

ubyte[] glyph;
< 12: glyph data, arbitrary size

class RefCountedObject;
base class for reference counted objects, maintains reference counter inplace.

enum State: uint;
widget state flags - bits

Normal
state not specified / normal

dchar dcharToUpper(dchar ch);
uppercase unicode character

bool isPathDelimiter(char ch);
returns true if char ch is / or \ slash

@property string exePath();
returns current executable path only, including last path delimiter

char[] convertPathDelimiters(char[] buf);
converts path delimiters to standard for platform inplace in buffer(e.g. / to \ on windows, \ to / on posix), returns buf

string convertPathDelimiters(string src);
converts path delimiters to standard for platform (e.g. / to \ on windows, \ to / on posix)

string appendPath(string[] pathItems...);
appends file path parts with proper delimiters e.g. appendPath("/home/user", ".myapp", "config") => "/home/user/.myapp/config"

char[] appendPath(char[] buf, string[] pathItems...);
appends file path parts with proper delimiters (as well converts delimiters inside path to system) to buffer e.g. appendPath("/home/user", ".myapp", "config") => "/home/user/.myapp/config"


Page generated by Ddoc. Vadim Lopatin, 2014