OS4 DepotLogo by Liksmaskaren 
(anonymous IP:,2120) 

   Bug tracker
   Locale browser


   o Audio (342)
   o Datatype (51)
   o Demo (203)
   o Development (593)
   o Document (22)
   o Driver (96)
   o Emulation (146)
   o Game (992)
   o Graphics (494)
   o Library (113)
   o Network (228)
   o Office (65)
   o Utility (912)
   o Video (69)

Total files: 4326

Full index file
Recent index file



Support the site

 Readme for:  Development » Library » oo.lha

OO library

Description: Bring easier programming to C and AmigaOS
Download: oo.lha       (TIPS: Use the right click menu if your browser takes you back here all the time)
Size: 2Mb
Version: 2.5
Date: 08 Jun 2022
Author: Tuomas Hokka
Submitter: Tuomas Hokka
Requirements: Check the Readme
Category: development/library
Replaces: development/library/oo.lha
License: Freeware
Distribute: yes
Min OS Version: 4.1
FileID: 12105
Comments: 13
Snapshots: 2
Videos: 0
Downloads: 70  (Current version)
1291  (Accumulated)
Votes: 6 (0/0)  (30 days/7 days)

Show comments Show snapshots Show videos Show content Show crashlogs Replace file 
OO library brings object class style and easier programming to plain C language
and AmigaOS. OO library makes also possible to create GUI's using GUIML
(Graphical User Interface Markup Language).

*** CHANGED ALL CALLBACKS in release 2.1 ***
Callback functions in Amiga software uses usually func(struct Hook *, APTR
object, APTR message) argument setup. Check the documentation for details.

*** NOTE: OO library uses it's own different sets of arguments in callback
functions. That will change in the future releases. Amiga standard set of
arguments will be used in callback functions in the next OO library release.
They are struct Hook*, APTR object, APTR message where the message will be
different structure for each callback. Check them in the header files. Prepare
to change your tools and utilities which uses the OO library and recompile them.


*** NOTE: Random class has it's own ooRandom.h header file. ooSys.h has been
removed! ***
*** NOTE: List class has it's own ooList.h header file. ooSys.h has been
removed! ***

* Known problems v1.17: Reading GUIML might crash!
* Known problems v1.17: Using the close button of clicktab tabs will crash!

* Requirements: knob.gadget, radiobuttonX.gadget, picflow.gadget, drawer.gadget
(included in the package); avcodec2.library, avformat2.library, avutil2.library,
swresample2.library, swscale2.library for Video class and can be found from
Emotion video player package 

* Requirements for secure networking: AmiSSL v5 (minimum)

Permission granted to redistribute oo.library in binary form in software
made for AmigaOS and using the oo.library.

Note: New releases of the library should be compatible with software using the
older versions but recompiling your projects using the oo.library is recommended

Drawing graphics to a window: Add a Space gadget to your window layout and use
the Space gadget object to create a Graphics object. Use the Graphics object to
draw into the Space gadget's rastport (which is the windows rastport). Graphics
class takes care of rastport's and double buffering.

Included examples: Drawerview, GUIfromGUIMLfile, KeyValuePairs, SamplePlayer,
SimpleAudio, SimpleDOS, SimpleGUI, SimpleHTTP, SimpleServer, SimpleVideo,
SimpleSpaceShooter, SimpleTalk, Inheritance, SimpleWWW, SimpleXML, ListTest,

Some highlights:
* OO Window class adds new choices to a window popup menu (the popup gadget in a
window title bar), when enabled:
 - Full screen mode: A custom screen is opened and the window is moved there and
resized to fill up the screen below the screen title bar
 - Split screen mode: The window is resized to fill horizontally half of the
screen area and moved either left side or right side of the screen (a modern
feature to see two documents side by side, for example). Now there's options for
quarter sized windows as well since v1.18.
 - Public screens, which are defined in Screen prefs and marked as auto
open/close but not opened yet, are listed for screen jumping as well as already
open public screens

Version history:
- 2.5 (7th June 2022):
 - Network class adapted for AmiSSL v5
 - No other functional changes
 - Added information to the documentation

- 2.4 (27th May 2022):
 - FIXED important bug in Window class JumpToPublicScreen method: All GUI
objects will be set to new window pointer

- 2.3 (12th May 2022):
 - One more change to GUIML parseing routine
 - Implemented my own integer parseing routine to the code and it seems that
fixes some strange abnormal random crashes (in GUIML parser)

- 2.2 (12th May 2022):
 - FIXED important bug in Xml class saveing to a file ! Options were not saved
and causing memory leaking also.
 - FIXED a bug in List classes GetRemoveHead and GetRemoveTail methods !
 - Fixed a linker issue with newer linkers when compiling the library
 - Args handlers hooks user data is set to Tool object now!
 - Added new methods to Layout class: SetPtrAttr, SetLabel
 - Added a new method to List class
 - New methods to Tool class: StrLength, StrCopyLen, InheritSetupButtonGadget,
   SavePrefs, LoadNamedPrefs, SaveNamedPrefs, SetBusy
 - New methods to Xml class: ReadXml, WriteXml plus few others
 - New Scroller gadget class
 - Implemented my own integer parseing routine to the code and it seems that
fixes some strange abnormal random crashes (in GUIML parser)

- 2.1 (4th January 2022):
 - *** CHANGED ALL CALLBACKS which requires minimum version 2 of the oo.library
   *** NOTE! Remember to open minimum version 2 of the oo.library ! ***

 - Menu class: AddSubMenuObject() method did not ever work as expected !
   Use new AddSubMenuObjectTags() and AddSubMenuObjectTagList() methods instead

 - Added new methods to Window class: AddNewLabeledGadgetTagList,
   AddNewLabeledGroupTagList, AddNewLabeledGroupTags, GetGroupObject
 - Added new methods to Layout class: AddObjectTagList, AddObjectTags

Copyright © 2004-2023 by Björn Hagström All Rights Reserved