mirror of
https://git.yoctoproject.org/matchbox-documentation
synced 2025-11-04 21:16:16 +08:00
gcov usage documented. internals updated with dia diagram
git-svn-id: https://svn.o-hand.com/repos/matchbox/trunk/matchbox-documentation@781 b067294f-1dea-0310-9683-c47a78595994
This commit is contained in:
BIN
developers/internals.dia
Normal file
BIN
developers/internals.dia
Normal file
Binary file not shown.
@@ -1,3 +1,5 @@
|
||||
Matchbox Internals Documentation - v0.1 - mallum@o-hand.com
|
||||
===========================================================
|
||||
|
||||
Introduction
|
||||
====
|
||||
@@ -127,6 +129,11 @@ Wm.c also has various functions for 'global' operations on clients
|
||||
such as resizing/repositioning all clients. Numerous points throughout
|
||||
the codebase will use this.
|
||||
|
||||
Note a diagram reprenting visually what has been discussed in this
|
||||
overview is available via;
|
||||
|
||||
http://matchbox.handhelds.org/documentation/developers/internals/internals.png
|
||||
|
||||
File Structure
|
||||
====
|
||||
|
||||
@@ -279,21 +286,25 @@ XX_client_move_resize (Client *c);
|
||||
Safely moves and resizes a client ( to positions set by
|
||||
client_configure ) or other.
|
||||
|
||||
|
||||
void
|
||||
XX_client_get_coverage (Client *c, int *x, int *y, int *w, int *h);
|
||||
|
||||
returns the display area covered by the client and its decoration frame.
|
||||
|
||||
|
||||
void
|
||||
XX_client_hide (Client *c);
|
||||
|
||||
Hides ( unmaps ) a client.
|
||||
|
||||
|
||||
void
|
||||
XX_client_show (Client *c);
|
||||
|
||||
Shows ( maps ) a client.
|
||||
|
||||
|
||||
void
|
||||
XX_client_destroy (Client *c);
|
||||
|
||||
@@ -405,3 +416,18 @@ Some optimizations matchbox uses;
|
||||
that due to its style of restrictive window management it avoids much
|
||||
of the code needed by a desktop window manager.
|
||||
|
||||
|
||||
Further reading
|
||||
====
|
||||
|
||||
Matchbox WM source
|
||||
http://cvs.handhelds.org/cgi-bin/viewcvs.cgi/apps/matchbox/matchbox-window-manager/src/
|
||||
|
||||
Matchbox Developer documentation.
|
||||
http://matchbox.handhelds.org/developer.shtml
|
||||
|
||||
Matchbox X Communication specifics ( ie freedesktop.org standards support )
|
||||
http://matchbox.handhelds.org/documentation/developers/matchbox-key.txt
|
||||
|
||||
libMatchbox API documentation.
|
||||
http://matchbox.handhelds.org/documentation/developers/api/
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<article>
|
||||
<artheader>
|
||||
<title>Matchbox Testing HOWTO. (V 0.2)</title>
|
||||
<title>Matchbox Testing HOWTO. (V 0.3)</title>
|
||||
<author><firstname>Matthew</firstname>
|
||||
<surname>Allum</surname>
|
||||
<email>matthew@openedhand.com</email>
|
||||
@@ -229,6 +229,53 @@ url="http://bugs.openedhand.com/index.cgi/Matchbox/index">bugs.openedhand.com</u
|
||||
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section><title>Code Coverage</title>
|
||||
|
||||
<para>
|
||||
|
||||
Both the matchbox-window-manager and libmatchbox packages have support
|
||||
for the GNU Code coverage tool <ulink
|
||||
url="http://gcc.gnu.org/onlinedocs/gcc-3.0/gcc_8.html">Gcov</ulink>. To
|
||||
enable, at build time configure the packages with the
|
||||
<userinput>--enable-gcov</userinput> option. The built binaries will then produce gcov statistics, which can further be processed by running gcov on source files.
|
||||
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
||||
Within the test package exists 'gcov-wrapper.sh'. This script will run all or any of the tests and report the percentage of code per sourcefile the test run covered.
|
||||
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Usage is like;
|
||||
|
||||
<programlisting>
|
||||
|
||||
usage: ./gcov-wrapper.sh <matchbox wm src path> <libmatchbox src path> [test]
|
||||
|
||||
'test' defaults to testrun.sh
|
||||
Set GCOV_FLAGS to any required gcov swicthes
|
||||
|
||||
</programlisting>
|
||||
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
||||
It is advised you make clean and then remake matchbox-window-manager
|
||||
and libmatchbox before each gcov-wrapper.sh run to avoid statistics
|
||||
accumerlating.
|
||||
|
||||
</para>
|
||||
|
||||
<para>
|
||||
More information on using Gcov is available at url="http://gcc.gnu.org/onlinedocs/gcc-3.0/gcc_8.html">http://gcc.gnu.org/onlinedocs/gcc-3.0/gcc_8.html</ulink>
|
||||
</para>
|
||||
|
||||
</section>
|
||||
|
||||
<section><title>Appendix A - Tools</title>
|
||||
<section><title>Valgrind</title>
|
||||
<para>
|
||||
|
||||
Reference in New Issue
Block a user