<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
	<title>DeskLib documentation: Future Plans</title>
	<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
</head>
<body>

<h1>DeskLib documentation: Future Plans</h1>


<h2>Plans for the future</h2>

<p>There are several things which are planned for a future DeskLib release.  If you want to write code for something suggested below, then check with the moderator before writing it so we don't get duplicated effort.</p>

<dl>
	<dt>Nested Wimp</dt>
	<dd>We could really do with a simple way to handle the Nested Wimp's new features.  The code for this would fit well into a new DeskLib module like the Pane handling.</dd>

	<dt>Resources system</dt>
	<dd>Resource handling is somewhat primitive, and could be updated to deal with country-specific resources.</dd>

	<dt>Debug version</dt>
	<dd>It'd be nice to have a 'Debug' version of DeskLib, which would be compiled with 'DeskLib_DEBUG' predefined. The .o files for this would be in a 'Debug' directory within each sublibrary directory. This would use variables like 'event_debuglevel' to control how much diagnostic information is output (using <code class=funcname>DebugX_Printf()</code>). Calls to '<code class=funcname>DebugX_Printf()</code>' would have to be added to the libraries to make this worthwhile.</dd>

	<dt>Improved error handling</dt>
	<dd>Maybe there should be a global function-pointer 'desklib_errorfn' which, if set, is called by all library functions if an error occurs.  Possibly there should be various levels of error, some serious, others warnings.  This could eliminate the need for user code to check the returned 'os_error *' from many library functions.  There could also be a global structure which contains information about the error, or that information could be passed to the relevant error-handling functions.</dd>

	<dt>Unified memory management</dt>
	<dd>Maybe have a set of function prototypes, such as "dl_malloc/realloc/free" or similar which could be used throughout the library, where more advanced control isn't needed.  There would then be a way to override the defaults via function pointers, I'd've thought.  This could save some memory management headaches.  Similarly, there could be a set of "neutral" functions which handle more advanced memory management, such as extending a block of memory in the middle, so the user could make all of DeskLib use the same memory management routines.</dd>
</dl>

<hr noshade="noshade" />

<p class="note">
<b>The DeskLib team</b><br />
<a href="http://www.riscos.info/desklib/">http://www.riscos.info/desklib/</a>
</p>

</body>
</html>
