coneneko.scenegraph



interface RenderTarget;


abstract void draw(Node a);


abstract void flip();


interface Unit;


abstract void attach();


abstract void detach();


class NullUnit: coneneko.scenegraph.Unit;


class UnitMerger: coneneko.scenegraph.Unit;


this(Unit[] a...);
Unit派生配列は無理

void opCatAssign(Unit a);
~=

class Node;


bool visible;


this(Unit a = cast(Unit)null);


void opCall();
()

Unit unit();


void unit(Unit a);


void opCatAssign(Node a);
~=

class ConenekoException: object.Exception;


this(char[] file, long line, Object obj, char[] msg);


void exception(char[] file, long line, Object obj = cast(Object)null, char[] msg = null);
throw new ConenekoException(_FILE__, _LINE__, this, "message");

class DotNode: coneneko.scenegraph.Node;
graphvizのdotを作れる

this(char[] name, Unit a = cast(Unit)null);


char[] toString();
dot

interface Window: coneneko.scenegraph.RenderTarget;


abstract bool alive();


abstract uint width();


abstract uint height();


abstract void opCatAssign(Event e);
~=

abstract void clearEvents();


abstract Event popReachedEvent();


abstract MousePoint mousePoint();


interface MousePoint;


abstract int x();


abstract int y();


class Event;


class Waiter: coneneko.scenegraph.RenderTarget;
基本的に、Event登録、killTime記述、switch(waiter.wait())の順に使います。 killTimeで画面を更新する場合は、引数RenderTargetのdraw, flipを使ってください。 waitが返す値は、killTimeのreturn値か、flip内で発生したイベントのidです。

uint delegate(RenderTarget a) killTime;
event待ちの間、実行される。

this(Window wnd);


void addEvent(uint result, Event e);


void clearEvents();


uint wait();
Eventが発生するまで待つ。addEventで登録した値を返す。

class WindowDeadException: object.Exception;
Windowが閉じていたら投げる

interface Rgba;
32bit

abstract uint width();


abstract uint height();


abstract uint[] pixels();


class TextureSizeCorrector: coneneko.scenegraph.Rgba;
2のn乗に修正

this(Rgba base);


static uint correctLength(uint a);


static bool isCorrectSize(Rgba rgba);


class TextureSizeScalingCorrector: coneneko.scenegraph.TextureSizeCorrector;
拡大して修正

this(Rgba base);


class WindowDecorator: coneneko.scenegraph.Window;


this(Window base);


class RgbaScaler: coneneko.scenegraph.Rgba;
srcを任意の大きさに TODO TextureSizeScalingCorrectorと重複しているので修正しておく

this(Rgba src, uint width, uint height);


class UnitDecorator: coneneko.scenegraph.Unit;


protected Unit base;


this(Unit base = cast(Unit)new NullUnit);


class TermUnit: coneneko.scenegraph.UnitDecorator;
一定時間経過で無効になる

this(Unit base, long millisecond);



Page generated by Ddoc.