view codeDoc/staticCtors.txt @ 161:e3fe6acc16fb

Replaced WidgetManager's click and motion callbacks with a drag event system. This is less flexible, but much closer to what is required (and is simpler and less open to bugs through unintended use). The widget under the mouse is now passed (although could just as easily have been before).
author Diggory Hardy <diggory.hardy@gmail.com>
date Thu, 21 May 2009 22:15:40 +0200
parents 56c0ddd90193
children
line wrap: on
line source

Copyright © 2007-2008 Diggory Hardy
License: GNU General Public License version 2 or later (see COPYING)


Map of what happens in static CTORs (excluding creating loggers). From August 2008.

mde
->  imde
    ->  input.Input
        ->  input.Config
            

* means shouldn't affect anything else done by static ctors

imde {
    input = new Input();
    mainSchedule = new Scheduler;*
}

font.FontTexture.OptionsFont {*
    fontOpts = new OptionsFont;
    Options.addOptionsClass (fontOpts, "font");
}

gui.WidgetManager {*
    gui = new WidgetManager ("gui");
}

input.Config.Config {*
    loadedFiles = new TreeBag!(char[]);
}

input.Input.Input {*
    es_b_fcts = [ ES_B.OUT : &es_b_out ];
    es_a_fcts = [ ES_A.OUT : &es_a_out, ES_A.REVERSE : &es_a_reverse ];
    es_m_fcts = [ ES_M.OUT : &es_m_out ];
}

lookup.Options.OptionsMisc {*
    miscOpts = new OptionsMisc;
    Options.addOptionsClass (miscOpts, "misc");
}

setup.Init {?
    Logger root = Log.root;
    debug root.level(Logger.Trace);
    else  root.level(Logger.Info);
    root.add(new AppendConsole);
}

setup.init2 {*
    init.addFunc (&initInput, "initInput");
    init.addFunc (&guiLoad, "guiLoad");
}

setup.sdl {*
    init.addFunc (&initSdlAndGl, "initSdlAndGl");
}

setup.sdl.OptionsVideo {*
    vidOpts = new OptionsVideo;
    Options.addOptionsClass (vidOpts, "video");
}