The MadBuilder provides the following functions. * Project control * Edit the scene section of MBSVG file. * Edit the animation section of the MBSVG file. * Wizard to generate project template
Each project can define one or more scenes file. One of them are the major scene file. All scene files will be listed in the left side. When one of them are selected, the content of the file will be shown in the right side of the screen. Currently, the following types of files are supported. * C file * mbsvg scene file * Makefile
Each project is defined by a mbprj file. The format fo the mbprj is defined in MadBuilderProjectFile. The MadBuilder will the file list from the project file and put them in the left side list.
When the C file is selected, we will load an text editor to edit this file. The text editor can be customized in the project file. The text editor must support the text editor control API which can take commands from the standard input and execute it. The MadBuilder will use this API to load/save text files.
The mbsvg scene editor ptovides the following function to edit the mbsvg file. * Switch between scenes. * Insert/Remove/Extend scenes. * List all animations in a single scene. * Define mbsvg symbol.
The 'jump' function will switch the displayed scene to be the current selected scene. The inkscape will display only elements in the current scene. All other scenes will be hidden.
The insert button will insert a new scene in the current selected cell. The scene is defined in a single layer. Therefore, when we add/remove layers in the inkscape, we should refresh the scene table by using the 'refresh' button. The refresh button will send a GETDOC call to the inkscape to get the latest scene definition and update the scene table in the top of the screen.
The refresh button will issue a GETDOC to the inkscape to fetch the latest content. We will use it to update the content of the builder.
The make symbol button will show a new popup window to get the symbol name for the current selected object in the inkscape. If the object has name already, the old name will be shown in the dialog. Otherwise, we will ask users to input the new name.
A symbol is usually used to change the properties of the SVG elements in the runtime. The mb_obj_xxxx API is usually used to operate them. This API will call appropriate low level functions accoridng to the type of the elements. Please refer to xxxx for the details.
Convert the element into a button. The selected object must be a group.
Edit the current selected animation.
Add a new animation into the current scene.