home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 2
/
DATAFILE_PDCD2.iso
/
utilities2
/
desklib
/
Docs
/
Updates
< prev
Wrap
Text File
|
1993-07-15
|
20KB
|
441 lines
Updates between DeskLib versions:
2.03 (July 1993) -------------------------------------------------------------
Important - Please note that Event_ and Wimp.h now support more RISC OS 3
functionality. Specifically, Wimp_Initialise has a new parameter (message
list) on the end - to re-link with this version of the library, you will need
to upgrade any Wimp_Initialise calls in your code (add a NULL onto the end of
the list of parameters to Wimp_Initialise). You can of course take this
opportunity to upgrade your code to use the new features the RISC OS 3
makes available. Note that you'll also need to use LibFile to re-make the
WimpLib if you use it separately.
Along similar lines, you can now call Event_Initialise3() in place of
Event_Initialise to do a proper RISC OS 3 Wimp_Initialise, passing in a
list of accepted messages, etc. Event_Initialise provides the same (RISC OS 2)
functionality as before.
MISCELLANEOUS modifications
Modified the Libraries.!MakeDLib obey file. Each sublibrary is now compiled
by invoking an alias 'DLibMake', which makes the file shorter and more
readable, and also allows you to more easily modify the way in which
sublibraries are compiled.
Modified the Clean obey files - they now won't abort if a file is missing.
Modified the Makefiles to make everything tidier.
Now, in the obey file Libraries.!MakeDLib, you can set 3 amu variables:
x_cflags - c compiler extra flags
x_aflags - objasm extra flags
do - What to do to create the sublibrary
This allows you to do some important things:
x_cflags=-Ff
This is the new default, which reduces the library code size by about 5%.
However, when debugging, you may like to recompile the library with the
'f' removed, so that you can find the names of the functions being
called as you debug.
do="Create $@ 1"
This will minimise disc space used by the library (by creating 1-byte
'sublibraries' instead of compiling them properly - the file is needed
so amu knows the sublibrary is up to date)
do="LibFile -c -o $@ @.o.*"
This will create each sublibrary - you can then use the sublibrary files
to link with instead of the main DeskLib library (eg WimpLib is quite
handy on its own, and is only 18kB rather than DeskLib's >100kB, a very
useful thing if you're developing of floppies!)
Updated the TestApp- now does the following extra things:
* Uses outline fonts, and gets them right if you change screen modes
* Changes the window title if you click the menu item 'Change title'
when you brought the menu up from a window (else that item is shaded)
BUGS which have been fixed:
Font
Fixed a major set of bugs due to a small and harmless-looking typo in the
Font sublibrary - most of the font calls would return a non-zero value
if no error occurred, and a zero value if an error occurred (i.e. the
opposite of what they should have been doing: MOVVS r0, #0 instead of
MOVVC r0, #0)
This affects most font calls, but you'll only notice a difference if you
check the returned error - the SWIs worked fine, but returned incorrect
error-return-values - all other return values were unaffected.
ColourTrans, DragASprite
Similar problems were also removed from the assembler veneers for the
ColourTrans, DragASprite, and PopUp sublibraries - namely that the return
values were not consistent with the definitions given in the headers.
I'll keep a closer eye on this in future!
Icon
Icon_BarIcon, Icon_GetText, Icon_Set(Integer/Double/Text), Icon_printf
previously did not correctly terminate strings correctly if they were too
long to fit in the icon.
Icon_BarIcon now uses sprite_MAXNAME rather than wimp_MAXNAME for copying
the sprite name (though these constants are both 12, so there is no
effective difference)
Menu
No longer trashes your machine with indirected menu items (Menu_New)
PopUps
'bugs' removed from the PopUp.h header file's example code segments
SWI veneers fixed up - they didn't quite correspond to the prototypes
given in the headers.
Template_Clone
Now terminates copied strings properly.
MODIFICATIONS
Error
Upgraded OtherSrc.c.Error and Error.h to new code submitted by P.Colmer.
Now Error_Report and Error_ReportFatal (and "Internal" versions of these)
take variable arguments - they can still be used exactly as before, but
you can now include any 'printf' style arguments to save having to
pre-assemble a string to pass in.
Event
Upgraded Event_Initialise to call the new function Event_Initialise3
with a required WIMP version of 200 (RISC OS 2 WIMP), to add support
for RISC OS 3, and the new non-zero-pollword events.
Resource
This has now been moved from Misc to its own (Resource) sublibrary.
Also added replacement call for Resource_Initialise,
Resource_InitialisePath, which allows you to use DeskLib functions
to load Templates, messages, etc. from a path ("AppName:Templates")
rather than a directory ("<AppName$Dir>.Templates") - useful for adding
support for internationalisation.
Template
Added support into Template_Clone for a new 'maxtitlesize' value of
template_TITLEMIN (-1) which will allocate as much room for the title
as declared in the template definition.
Added support for outline fonts into Template loading.
(See the end of Template.h for details of the new calls)
Template, Handler, Window
Added code to fix any windows/templates you are using which contain icons
using outline fonts whenever a mode change necessitates it (On some mode
changes outline fonts will otherwise become the wrong size as the font
manager doesn't re-cache them).
This functionality required addition of:
Font.c.LoseAll Lose all fonts in a Template_Load style font
usage array
Handler.c.ModeChange Replacement for old ModeChange handler - does the
same as before, but if you are using outline fonts
(you have called Template_UseOutlineFonts()) it
fixes all your fonts if necessary. Note that this
only works on templates loaded with Template_ calls
and windows opened with Window_ calls.
Template.c.UseOutFont Function to call BEFORE Template_LoadFile to set up
a font usage array and exit-handler to lose any fonts
you were using.
Window.c.ModeChange Function to call to fix outline fonts in all windows
and templates. Called by Handler_ModeChange()
Appropriate changes have been made to the relevant header files.
Wimp SWI veneers
WimpSWIs.s.Wimp01 (Wimp_Initialise) has now been modified to support
the new RISC OS 3 parameter (the message list). This call is still
RISC OS 2 compatible, but those of you calling Wimp_Initialise directly
will need to add a NULL onto the end of your initialise call, e.g.
Wimp_Initialise(&version, "MyTask", &taskhandle);
will become:
Wimp_Initialise(&version, "MyTask", &taskhandle, NULL);
Window
As well as the additions mentioned in the bit above,
changes have also been made to the internal window information structure
as used by the Window.c files. (The window template name is now
WIMP_MAXNAME+1 characters long (13) rather than 9 characters long)
ADDITIONS
Event
Added Event_Initialise3() to Event.c.Event. This more or less replaces
Event_Initialise with a new call that will initialise the RISC OS 3 WIMP
and allow you to pass in the list of desired messages. You should not use
Event_Initialise with WIMP version numbers greater than 200 - use
Initialise3 instead. [If you desire RISC OS 2 compatability, you MUST
call Event_Initialise]
This also allows the support for non-zero pollword events now available
under RISC OS 3. Thanks to P.Colmer.
File
Added File sublibrary, which gives calls