From 85cbec19a72149a258675465df1bf1645d3a15bc Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Thu, 25 Feb 2010 18:46:21 +0000 Subject: [PATCH] Better documentation structure. SVN revision: 46472 --- src/modules/illume2/doc/Doxyfile | 2 +- src/modules/illume2/doc/Makefile.am | 26 ++++++-- src/modules/illume2/doc/illume.dox.in | 79 +++++++++++++++++++++++ src/modules/illume2/e_illume.h | 92 ++++++--------------------- 4 files changed, 120 insertions(+), 79 deletions(-) create mode 100644 src/modules/illume2/doc/illume.dox.in diff --git a/src/modules/illume2/doc/Doxyfile b/src/modules/illume2/doc/Doxyfile index 5c2bd6cff..0df235cef 100644 --- a/src/modules/illume2/doc/Doxyfile +++ b/src/modules/illume2/doc/Doxyfile @@ -506,7 +506,7 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = ../ +INPUT = ./illume.dox ../ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is diff --git a/src/modules/illume2/doc/Makefile.am b/src/modules/illume2/doc/Makefile.am index 83826b4c2..51215f436 100644 --- a/src/modules/illume2/doc/Makefile.am +++ b/src/modules/illume2/doc/Makefile.am @@ -1,13 +1,28 @@ -MAINTAINERCLEANFILES = Makefile.in +MAINTAINERCLEANFILES = Makefile.in illume.dox +MODULE_TARNAME = illume2 +MODULE_VERSION = 2.0 .PHONY: doc +PACKAGE_DOCNAME = $(MODULE_TARNAME)-$(MODULE_VERSION)-doc + if EFL_BUILD_DOC -doc: all - rm -rf html/ latex/ man/ +doc-clean: + rm -rf html/ latex/ man/ xml/ $(PACKAGE_DOCNAME).tar* + +doc: all doc-clean $(efl_doxygen) cp img/* html/ + rm -rf $(PACKAGE_DOCNAME).tar* + mkdir -p $(PACKAGE_DOCNAME)/doc + cp -R html/ latex/ man/ $(PACKAGE_DOCNAME)/doc + tar cf $(PACKAGE_DOCNAME).tar $(PACKAGE_DOCNAME)/ + bzip2 -9 $(PACKAGE_DOCNAME).tar + rm -rf $(PACKAGE_DOCNAME)/ + mv $(PACKAGE_DOCNAME).tar.bz2 $(top_srcdir) + +clean-local: doc-clean else @@ -16,7 +31,4 @@ doc: endif -clean-local: - @rm -rf html/ latex/ man/ - -EXTRA_DIST = Doxyfile $(wildcard img/*.*) e.css head.html foot.html +EXTRA_DIST = Doxyfile $(wildcard img/*.*) e.css head.html foot.html illume.dox.in diff --git a/src/modules/illume2/doc/illume.dox.in b/src/modules/illume2/doc/illume.dox.in new file mode 100644 index 000000000..ca651f364 --- /dev/null +++ b/src/modules/illume2/doc/illume.dox.in @@ -0,0 +1,79 @@ +/** + +@mainpage Illume + +@image html e.png + +@author Carsten Haitzler +@author Christopher Michael +@date 2000-2010 + +@section intro Introduction + +Illume is a module for Enlightenment that modifies the user interface of +enlightenment to work cleanly and nicely on a mobile device - such as an +Openmoko phone. It is resolution independent meaning that it can +accommodate a very wide range of devices, from cell phones and PDAs to +tablets and desktops. Illume has been designed from the ground up to +support multiple screens in more than one way using either xinerama or multi-head. + +@warning This is a work in progress and as such is subject to change. + +*/ + +/** +@page Illume_Main_Page Illume Basics + +@section intro What is Illume? + +Illume is a module for that modifies the user interface of Enlightenment to work +cleanly and nicely on an embedded system - from cell phones and PDAs to tablets and +desktops. It is resolution independent meaning that it can accommodate a very wide +range of devices. Illume has been designed from the ground up to support multiple +screens in more than one way using either xinerama or multi-head. + +@section work How does Illume work? + +*/ + +/** +@page Illume_Policy_Api_Page Illume Policy API Information +*/ + +/** +@page Illume_Policy Illume Policy Information +*/ + + +// GROUP DEFINITIONS + +/** +@defgroup E_Illume_Keyboard_Group Illume Keyboard Information + +The following group defines information needed to interact with the +Virtual Keyboard. + +*/ + +/** +@defgroup E_Illume_Policy_Group Illume Policy Information + +The following group defines information needed to implement an Illume +Policy. + +@warning There are some requirements that every policy must implement and +some things are optional. Please reference the @ref E_Illume_Policy +structure for requirements. +*/ + +/** +@defgroup E_Illume_Config_Group Illume Configuration Information + +The following group defines information pertaining to Illume Configuration. +*/ + +/** +@defgroup E_Illume_Quickpanel_Group Illume Quickpanel Information + +The following group defines information pertaining to Illume Quickpanels. +*/ diff --git a/src/modules/illume2/e_illume.h b/src/modules/illume2/e_illume.h index 0739f020f..51422ec4c 100644 --- a/src/modules/illume2/e_illume.h +++ b/src/modules/illume2/e_illume.h @@ -1,35 +1,6 @@ #ifndef E_ILLUME_H # define E_ILLUME_H -/* include standard E header */ -# include "e.h" - -/** - * @mainpage Illume - * - * @image html e.png - * - * @author Christopher Michael - * @date 2010 - * - * @section illume_toc_sec Table of contents - * - *
    - *
  • @ref illume_intro_sec - *
- * - * @section illume_intro_sec Introduction to Illume - * - * Illume is a module for Enlightenment that modifies the user interface of - * enlightenment to work cleanly and nicely on a mobile device - such as an - * Openmoko phone. It is resolution independent meaning that it can - * accommodate a very wide range of devices, from cell phones and PDAs to - * tablets and desktops. Illume has been designed from the ground up to - * support more than one screen in more than one way (multihead and xinerama). - * - * @warning This is a work in progress and as such is subject to change. - */ - /** * @file e_illume.h * @@ -47,13 +18,16 @@ * For details on quickpanels, see @ref E_Illume_Quickpanel_Group. */ -/** - * @defgroup E_Illume_Keyboard_Group Illume Keyboard Information - * - * The following group defines information needed to interact with the - * Virtual Keyboard. - * - */ +/* include standard E header */ +# include "e.h" + +/* define all of our typedefs */ +typedef struct _E_Illume_Keyboard E_Illume_Keyboard; +typedef struct _E_Illume_Policy_Api E_Illume_Policy_Api; +typedef struct _E_Illume_Policy E_Illume_Policy; +typedef struct _E_Illume_Config E_Illume_Config; +typedef struct _E_Illume_Config_Zone E_Illume_Config_Zone; +typedef struct _E_Illume_Quickpanel E_Illume_Quickpanel; /** * @enum E_Illume_Keyboard_Layout @@ -86,7 +60,7 @@ typedef enum _E_Illume_Keyboard_Layout * * @ingroup E_Illume_Keyboard_Group */ -typedef struct _E_Illume_Keyboard +struct _E_Illume_Keyboard { E_Object e_obj_inherit; @@ -108,18 +82,7 @@ typedef struct _E_Illume_Keyboard /**< flag to indicate if the keyboard is currently disabled */ unsigned char fullscreen : 1; /**< flag to indicate if the keyboard is currently fullscreen */ -} E_Illume_Keyboard; - -/** - * @defgroup E_Illume_Policy_Group Illume Policy Information - * - * The following group defines information needed to implement an Illume - * Policy. - * - * @warning There are some requirements that every policy must implement and - * some things are optional. Please reference the E_Illume_Policy structure - * for requirements. - */ +}; /** * @def E_ILLUME_POLICY_API_VERSION @@ -143,7 +106,7 @@ typedef struct _E_Illume_Keyboard * * @ingroup E_Illume_Policy_Group */ -typedef struct _E_Illume_Policy_Api +struct _E_Illume_Policy_Api { int version; /**< The version of this policy. */ @@ -152,10 +115,7 @@ typedef struct _E_Illume_Policy_Api /**< The name of this policy. */ const char *label; /**< The label of this policy. */ -} E_Illume_Policy_Api; - - -typedef struct _E_Illume_Policy E_Illume_Policy; +}; /** * @brief structure for policy @@ -272,18 +232,13 @@ struct _E_Illume_Policy } funcs; }; -/** - * @defgroup E_Illume_Config_Group Illume Configuration Information - * - * The following group defines information pertaining to Illume Configuration. - */ /** * @brief structure for Illume configuration. * * @ingroup E_Illume_Config_Group */ -typedef struct _E_Illume_Config +struct _E_Illume_Config { int version; @@ -314,14 +269,14 @@ typedef struct _E_Illume_Config } vkbd, indicator, softkey, home; Eina_List *zones; } policy; -} E_Illume_Config; +}; /** * @brief structure for Illume zone configuration. * * @ingroup E_Illume_Config_Group */ -typedef struct _E_Illume_Config_Zone +struct _E_Illume_Config_Zone { int id; struct @@ -335,20 +290,14 @@ typedef struct _E_Illume_Config_Zone { int size; } vkbd, indicator, softkey; -} E_Illume_Config_Zone; - -/** - * @defgroup E_Illume_Quickpanel_Group Illume Quickpanel Information - * - * The following group defines information pertaining to Illume Quickpanels. - */ +}; /** * @brief structure for Illume Quickpanels. * * @ingroup E_Illume_Quickpanel_Group */ -typedef struct _E_Illume_Quickpanel +struct _E_Illume_Quickpanel { E_Object e_obj_inherit; @@ -360,7 +309,8 @@ typedef struct _E_Illume_Quickpanel int h, ih, adjust, adjust_start, adjust_end; unsigned char visible : 1; /**< flag to indicate if the quickpanel is currently visible */ -} E_Illume_Quickpanel; +}; + /* define function prototypes that policies can use */ EAPI E_Illume_Config_Zone *e_illume_zone_config_get(int id);