AbsoUI

Thread: AbsoUI

  1. #1

    AbsoUI

    Readme:
    ================================================== ========================================
    LIBRARY: AbsoUI (aui)
    ================================================== ========================================
    Author: Absolution
    E-Mail: Absolution@game-deception.org
    Last Updated: 11-19-2009
    Project Page: http://www.game-deception.org/aui

    Summary
    ------------------------------------------------------------------------------------------
    AbsoUI is a user interface library that is capable of rendering widgets that are
    primarily programmed in C++ and exported to XML. The way widgets are declared
    is similar to that of Microsoft's XAML.

    Architecture and OS Support
    ------------------------------------------------------------------------------------------
    AbsoUI as it currently stands is only supported on x86 Windows.

    How to build AbsoUI
    ------------------------------------------------------------------------------------------
    Link the library in .\AUI\proj\lib\$(ConfigurationName)\AUI.lib to your
    project and add all the header files located in .\AUI\.

    How to use AbsoUI
    ------------------------------------------------------------------------------------------
    AbsoUI is very simple to implement; it can be done in very few lines of code.

    Initialization:
    Somewhere before any drawing is done, add these lines of code

    aui::kernel32.Initialize();
    aui::user32.Initialize();
    aui::opengl32.Initialize();

    aui::gui.display.GetDisplayInfo();

    aui::gui.BuildControlFactory();
    aui::gui.Initialize(); // Set up windows

    The line order cannot be changed. The first three lines dynamically get the
    address of required Win32API functions. GetDisplayInfo will calculate
    the display width and height based on glViewport. The control factory is
    subsequently built and when Initialized is called, a single TopWindow
    type control is created. TopControl.xml is loaded into memory and subsequent
    controls are built on top of it. There can only be one TopControl per view
    port.

    Each time a new widget is created, AUI will look into AUI\WidgetName.xml for
    an XML file that contains its default parameters. It will also go down its
    inheritance classes and load those files as well.

    Ex: Window class inherits from Control
    When <Window x=50 /> is written in an XML file that is loaded, AUI will load
    Control.xml for defaults (since Control is Window's base class), and then will
    load Window.xml secondly. It then parses all arguments for window (such as
    x=50). You can even declare things for Window, such as ColorManager. For
    instance, if you want to recolor the background specifically for Window, you
    can do:
    <Window x=50>
    <ColorManager>
    <Color32 name="background" red="0" green="0" blue="255" alpha="255" />
    </ColorManager>
    </Window>
    This will create a window with x=50 and all other default parameters except
    the background color will be blue.

    Rendering:
    You should only draw the UI once per frame. Here is some example code

    aui::draw->Pre2DDraw(); // optional
    // draw gui
    if( !aui::gui.GetTopControl()->children.empty() )
    {
    aui::gui.GetTopControl()->Render( 0, 0 );
    aui::gui.GetTopControl()->RenderCursor( aui::Control::cursX, aui::Control::cursY );
    }
    aui::draw->Post2DDraw(); // optional, only if you called Pre2DDraw

    This will render all controls recursively.

    Input:
    A mouse input example is located in .\AUIWinTest\AuiWinTest.cpp and keyboard
    input is still being worked on. These function prototypes are likely to change
    as time goes on. A class to simplify input is in the works.

    x64 Support
    ------------------------------------------------------------------------------------------
    AbsoUI is available x64, it just needs to be recompiled. If you need the lib files, feel
    free to email absolution@game-deception.org.

    Notes
    ------------------------------------------------------------------------------------------
    A lot of controls are in progress. Classes which are not done include:

    Caret (functional)
    CommandMenu
    CursorPointer (functional)
    DrawDX8
    DrawDX9
    Font
    FontStyle
    Input
    InputBox
    Label
    ListBox
    Scrollbar
    Textbox
    Winamp

    There will eventually be a new class to deal with fonts and printing text.
    Download:
    [hide]
    Code:
    http://www.megaupload.com/?d=Z62MLKGX
    [/hide]

  2. #2
    Nice share bruzz

  3. #3
    Nice man !

  4. #4
    Quote Originally Posted by sampiiii View Post
    Nice man !
    im going to fuck your mom like u never seen before

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in