Go to 'Home' Go to 'Products' Go to 'Tutorials' Go to 'Company' Go to 'Contact'


Goblin is a C++ class library toolkit that provides tools for developing applications that run from one code base on Windows and MacOS. It's a set of tools and an application architecture that allows you to rapidly develop good looking, fast, cross platform applications without having to resort to OS specific coding.

The sections below (and the longer descriptions they lead to) cover some of the specific features of the toolkit, so go take a look and discover what that first paragraph actually means...

Back to the top

Good ideas aren't worth much if you don't have the tools to implement them. The difficulty with applying interface design to applications with most of the default toolkits that come with the operating system is that you're locked in to someone else's way of thinking. While Goblin can reproduce any of the interface styles your OS can produce, it can also be used to step beyond that and produce an interface that uses any style you like.

The interface toolkit runs from a 32-bit rendering pipeline, and produces effects such as soft shadows, additive glows, gradient overlays, bitmap based control widgets, and other things that can be used to create whatever you want on the screen, and make it do whatever you want it to do...

[read more]

Much of the work in porting an application to another platform is repeated every time you go through the process. In order to speed this process up, and reduce the amount of cross platform understanding required to do basic things, Goblin was written in a manner that creates abstractions of common operations. These abstractions take the form of code based calls that work on both Windows and MacOS, hiding the OS specific requirements from the engineer (but not preventing them from being accessed) and creating a single code base to run on both platforms.

The File System is a great example of the difference between how the MacOS and Windows environments work. Goblin gets around having to understand this by providing its own abstract File System that works on either platform...

[read more]

Back to the top

In order to keep development of products focused on dealing with issues specific to the product design, Goblin contains a wide range of utility functions and classes. Rather than rewriting string handlers, array handlers, and other general utilities on a project to project basis, the toolkit gives you flexible and useful utilities to allow you to focus on writing the product itself.

Goblin's string handler (the gCString) for example was designed to make the process of string manipulation easy, fast, and flexible. It's one of a number of utilities that make common tasks easier to achieve with the toolkit...

[read more]

Internet access is almost a requirement in many applications now. In order to make the process of implementing support easy, Goblin provides tools that give you internet access for both MacOS and Windows. The system includes utilities for opening web pages from your applications, connecting to servers and transferring data, and serving up your own data as required. It is a fully functioning internet toolkit that has been used to support such protocols as FTP, HTTP, and custom protocols implemented for specific products.

Back to the top

Here's a brief list of some of the major features of the toolkit:

  • Cross platform toolkit, supports: MacOS (Carbon pre-X, and X). Windows (95, 98, ME, XP, NT4, 2K).
  • Flexible 32-bit interface system.
  • Fast interface construction through resource files.
  • Hierarchical interface management that handles stacking widgets and automatically destroys widgets when the application is closed.
  • Procedural effects applied to widgets such as dynamic drop shadows, gradient overlays, and borders.
  • Cross platform file system support. This includes file management such as creation and deletion, folder management, and the persistent storage of file references.
  • Cross platform support for OpenGL inside a Goblin Widget. This widget can be converted from live OpenGL to Image Widget at any time so that items can be easily overlaid using the standard Goblin UI engine.
  • Cross platform DLL support, the Goblin Shared Library class can be written on one platform, compiled on the other, and loaded as a dynamic library by the application when built.
  • Cross platform internet support. Goblin contains tools that give you a simple internet access method that works across platforms.
  • Cross platform Audio support, sounds can be stored in resources and played back within your applications.
  • Can work alongside native class libraries such as MFC on Windows.
Goblin is constantly evolving as we add tools to it to deal with the requirements of our projects, the list above is a look at some of the basic functionality it supports.

Back to 'Products'



Copyright 2003 Ambient Design Ltd - So There

- Home - Products - Tutorials - Company - Contact Us - Top -