Feeds

Discover OS X's hidden artistic side

Jobs' past revisited

Providing a secure and efficient Helpdesk

For example, NSWinSliderKnobAbove will give you a circa Windows-95 horizontal slider knob, with the indicator pointing upwards. NSWinSliderKnobAbovePressed will give you the pressed-in variant of the same image. Among the others, there's NSWinRadio that's a radio button in its unselected state. It's a mystery why this set of bitmaps were added to AppKit and why they're still there.

Heads-up

Now, you might think the built-in icon list only contains only images from the distant past, but not so. With Leopard, Apple recently introduced official support for Heads Up Display (HUD) windows. The new Interface Builder makes it dead easy to crate a HUD window for your own app, but I guess we'll have to wait until Snow Leopard before Apple give us some nice HUD controls.

As you might expect, the glyphs used to build HUD windows are contained within the built-in icon list. Thus, NSHUDActiveTitleBarFill will give you a vertical strip that's used to provide the graduated fill for an active HUD window's title bar.

All the image names are provided in a file called NSImage Names, which I've included along with this month's demo project. You'll find that some of them are old, and some are very new. For example, Apple introduced a new AppKit class called NSDockTile along with Leopard. Amongst other things, this class allows you to customize the appearance of your application's icon as it sits in the Dock.

If you look at the images entitled NSBadge1&2, NSBadge3, NSBadge4, and NSBadge5, you should gain some understanding of how NSDockTile works internally: rather than rendering that jagged-edged red lozenge from scratch, it selects the appropriate glyph depending on how many characters you've asked to display on the icon badge. Clever, eh?

Scrollbar image

ThemeWidget delivers a scrollbar glyph

Finally, as promised, this month's demo project demonstrates another mechanism whereby AppKit obtains the necessary glyphs used to support the Aqua interface.

My little ThemeWidget application makes use of an undocumented routine, _NSGetThemeWidgetImage, which is very heavily used "under the hood". It takes an image identity and retrieves the requested glyph.

Now, I haven't totally figured this out yet and you'll see from my code the list of valid image ID's is non-contiguous, hence the need to scan forwards or backwards until a new image is found. With that proviso in mind, you can download the demo application and source code here

Secure remote control for conventional and virtual desktops

More from The Register

next story
Not appy with your Chromebook? Well now it can run Android apps
Google offers beta of tricky OS-inside-OS tech
New 'Cosmos' browser surfs the net by TXT alone
No data plan? No WiFi? No worries ... except sluggish download speed
Greater dev access to iOS 8 will put us AT RISK from HACKERS
Knocking holes in Apple's walled garden could backfire, says securo-chap
NHS grows a NoSQL backbone and rips out its Oracle Spine
Open source? In the government? Ha ha! What, wait ...?
Google extends app refund window to two hours
You now have 120 minutes to finish that game instead of 15
Intel: Hey, enterprises, drop everything and DO HADOOP
Big Data analytics projected to run on more servers than any other app
prev story

Whitepapers

Secure remote control for conventional and virtual desktops
Balancing user privacy and privileged access, in accordance with compliance frameworks and legislation. Evaluating any potential remote control choice.
Saudi Petroleum chooses Tegile storage solution
A storage solution that addresses company growth and performance for business-critical applications of caseware archive and search along with other key operational systems.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
Security for virtualized datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.
Providing a secure and efficient Helpdesk
A single remote control platform for user support is be key to providing an efficient helpdesk. Retain full control over the way in which screen and keystroke data is transmitted.