[Top] [Contents] [Index] [ ? ]

Footnotes

(1)

Replace ‘/usr/lib’ with the path to your GNUstep installation

(2)

If you really don’t want to add the outlets/actions to your class by hand if you modify the interface in the future, you could just save the classes to differently named files and then merge the changes back into the original files.

(3)

You will need gcc 4.1 or higher to compile Objective-C++ programmes. This feature of the gcc compiler is quite new and has not been well tested.

(4)

This is a throwback to the origin’s of the GNUstep framework, where it’s API specification (OpenStep) was based on NeXTStep, which used "nib" files (NeXT Inteface Builder) to store interfaces.

(5)

You would model this in UML using a one-to-one association I think.

(6)

It’s like the Microsoft Windows Spin control

(7)

Wikipedia has good information on the mathematics and theory behind bezier curves/paths

(8)

A graphics state is a concept inherited from GNUstep’s Display Postscript heritage. In Postscript a graphics state object, or gstate, would contain all the information about the current colours, the current affine transform, the width to draw lines with, any fill patterns, and other such information. They could be saved onto a stack and recalled later by name. GNUstep provides a more cut down and logical implementation of similiar concepts across the NSBezierPath class and others.

(9)

A mathematical matrix, described here, should not be confused with the NSMatrix class, which is a type of control that displays cells in grid form.

(10)

For those that are interested, the distance is found by applying Pythagoras’ theorem to the points in the equation x^2 + y^2 = d^2 (where x and y are the cartesian points, and d is the distance). The angle is then found by tan y / x, where the angle is less than 360 degrees. The transformations are the same as those used for complex numbers. It’s often known as a rectangular to polar transformation, and can be performed on most good quality scientific calculators.

(11)

NSWindow objects are responders as well

(12)

A paridgm is a mode of thinking, often applied to programming. You may have heard of the "object-oriented programming pardigm" or the "functional programming" paridgm.

(13)

The name of the selector is purely arbitrary, and can be anything you like. However, it must take one parameter, which is a reference to the sender object.

(14)

Matrices, as referred to here, are not to be confused with affine transforms, the latter of which is commonly referred to as a matrix, due to it’s internal implementation of a mathematical matrix.

(15)

Note that GWorkspace customises it’s browser controls significantly

(16)

I know this seems really, really obvious, but just play along; I’m not trying to be patronising.

(17)

Including NSImage

(18)

Note that many of the mechanisms provided for compositing may not be supported in some backends i.e. the Windows backend.

(19)

These compositing operations are the same as those described in the (now well-studied) academic paper, Compositing Digital Images by Thomas Porter and Tom Duff in 1984.


[Top] [Contents] [Index] [ ? ]

This document was generated by Adam Fedor on December 24, 2013 using texi2html 1.82.