Added and corrected documentation

This commit is contained in:
Joel Holdsworth 2008-08-16 16:44:52 +01:00
parent 57aed7b40d
commit 1532bc40e0
7 changed files with 98 additions and 48 deletions

View file

@ -1,14 +1,14 @@
# Doxyfile 1.5.1
# Doxyfile 1.5.5
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = Lumiera
PROJECT_NUMBER = 3.0+alpha
OUTPUT_DIRECTORY =
CREATE_SUBDIRS = YES
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = NO
ABBREVIATE_BRIEF = "The $name class" \
@ -30,6 +30,7 @@ STRIP_FROM_PATH = ../../src/ \
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = YES
QT_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = NO
INHERIT_DOCS = YES
@ -38,9 +39,14 @@ TAB_SIZE = 4
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO
BUILTIN_STL_SUPPORT = YES
CPP_CLI_SUPPORT = NO
SIP_SUPPORT = NO
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
TYPEDEF_HIDES_STRUCT = NO
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
@ -49,6 +55,7 @@ EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
EXTRACT_ANON_NSPACES = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
@ -60,6 +67,7 @@ SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = YES
SORT_GROUP_NAMES = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
@ -79,12 +87,13 @@ WARN_IF_UNDOCUMENTED = NO
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = YES
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
WARN_LOGFILE = warnings.txt
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ../../src/ \
../../tests/
INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.c \
*.cc \
*.cxx \
@ -130,6 +139,7 @@ RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = YES
EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
@ -168,6 +178,10 @@ HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
GENERATE_DOCSET = NO
DOCSET_FEEDNAME = "Doxygen generated docs"
DOCSET_BUNDLE_ID = org.doxygen.Project
HTML_DYNAMIC_SECTIONS = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
@ -251,6 +265,7 @@ PERL_PATH = /usr/bin/perl
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
MSCGEN_PATH =
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
CLASS_GRAPH = YES
@ -267,8 +282,7 @@ DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 1000
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = YES

View file

@ -49,69 +49,74 @@ namespace output {
}
DisplayerInput;
/** A Displayer is a class which is responsible for rendering an image in some
way (ie: Xvideo, GDK, OpenGL etc).
All Displayer classes must extend the Displayer class and minimally rewrite:
+ usable() - to indicate if the object can be used,
+ format() - to indicate what type of input the put method expects
+ put( void * ) - deal with an image of the expected type and size
By default, all images will be delivered to the put method in a resolution
of IMG_WIDTH * IMG_HEIGHT. If another size is required, then the rewrite
the methods:
+ preferredWidth
+ preferredHeight
If the widget being written to doesn't need a fixed size, then rewrite
the two other put methods as required.
/**
* A Displayer is a class which is responsible for rendering an image
* in some way (ie: Xvideo, GDK, OpenGL etc).
*
* @remarks All Displayer classes must extend the Displayer class and
* minimally rewrite:
*
* + usable() - to indicate if the object can be used,
* + format() - to indicate what type of input the put method expects
* + put( void * ) - deal with an image of the expected type and size
*
* By default, all images will be delivered to the put method in a
* resolution of IMG_WIDTH * IMG_HEIGHT. If another size is required,
* then the rewrite the methods:
*
* + preferredWidth
* + preferredHeight
*
* If the widget being written to doesn't need a fixed size, then
* rewrite the two other put methods as required.
*/
class Displayer
{
public:
/** Indicates if an object can be used to render images on the running
system.
/**
* Indicates if an object can be used to render images on the
* running system.
*/
virtual bool usable();
/** Indicates the format required by the abstract put method.
/**
* Indicates the format required by the abstract put method.
*/
virtual DisplayerInput format();
/** Expected width of input to put.
/**
* Expected width of input to put.
*/
virtual int preferredWidth();
/** Expected height of input to put.
/**
* Expected height of input to put.
*/
virtual int preferredHeight();
/**
* Put an image of a given width and height with the expected input
* format (as indicated by the format method).
*
* @param image image of correct format and specified width/height
* Put an image of a given width and height with the expected input
* format (as indicated by the format method).
*/
virtual void put( void * ) = 0;
protected:
/**
* Calculates the coordinates for placing a video image inside a widget
* Calculates the coordinates for placing a video image inside a
* widget
*
* @param[in] widget_width The width of the display widget
* @param[in] widget_height The height of the display widget
* @param[in] image_width The width of the video image
* @param[in] image_height The height of the video image
* @param[out] video_x The x-coordinate of the top left corner of
* the scaled video image
* @param[out] video_y The y-coordinate of the top left corner of
* the scaled video image
* @param[out] video_width The width of the scale video image
* @param[out] video_height The height of the scale video image
* @param[in] widget_width The width of the display widget.
* @param[in] widget_height The height of the display widget.
* @param[in] image_width The width of the video image.
* @param[in] image_height The height of the video image.
* @param[out] video_x The x-coordinate of the top left
* corner of the scaled video image.
* @param[out] video_y The y-coordinate of the top left
* corner of the scaled video image.
* @param[out] video_width The width of the scale video image.
* @param[out] video_height The height of the scale video image.
*/
static void calculateVideoLayout(
int widget_width, int widget_height,

View file

@ -53,7 +53,8 @@ public:
*
* @param[in] timeline_widget A pointer to the owner timeline widget
*/
HeaderContainer(lumiera::gui::widgets::TimelineWidget *timeline_widget);
HeaderContainer(lumiera::gui::widgets::TimelineWidget*
timeline_widget);
/**
* Attaches the header all the header widgets of root
@ -67,17 +68,41 @@ public:
/* ===== Overrides ===== */
private:
/**
* And event handler for the window realized signal.
*/
void on_realize();
/**
* And event handler for the window unrealized signal.
*/
void on_unrealize();
/**
* An event handler that is called to notify this widget to allocate
* a given area for itself.
* @param allocation The area to allocate for this widget.
*/
void on_size_allocate (Gtk::Allocation& allocation);
/**
* An event handler that is called to offer an allocation to this
* widget.
* @param requisition The area offered for this widget.
*/
void on_size_request (Gtk::Requisition* requisition);
/**
* Applies a given function to all the widgets in the container.
**/
void forall_vfunc(gboolean include_internals, GtkCallback callback,
gpointer callback_data);
/* ===== Events ===== */
private:
private:
/**
* This event is called when the scroll bar moves.
*/
void on_scroll();
/* ===== Internals ===== */

View file

@ -34,6 +34,9 @@ namespace gui {
namespace widgets {
namespace timeline {
/**
* A helper class to implement the timeline i-beam tool
*/
class ArrowTool : public Tool
{
public:

View file

@ -49,6 +49,9 @@ enum ToolType
IBeam
};
/**
* The base class of all timeline tools.
*/
class Tool
{
protected:

View file

@ -19,7 +19,7 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/** @file track.hpp
/** @file timeline/track.hpp
** This file contains the definition of timeline track object
*/

View file

@ -19,7 +19,7 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/** @file viewer-display-widget.hpp
/** @file video-display-widget.hpp
** This file contains the definition of video viewer widget
*/