Welcome, Guest. Please login or register.

Author Topic: OS4 Screenshot Running AmIRC  (Read 13574 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline xeron

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 2533
    • Show all replies
    • http://www.petergordon.org.uk
Re: OS4 Screenshot Running AmIRC
« on: October 13, 2003, 05:34:29 PM »
@Kenny

This shot was more to show that the onboard ethernet was working with roadshow than anything else, I think.
Playstation Network ID: xeron6
 

Offline xeron

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 2533
    • Show all replies
    • http://www.petergordon.org.uk
Re: OS4 Screenshot Running AmIRC
« Reply #1 on: October 13, 2003, 09:29:25 PM »
The AmigaOS pen sharing scheme works like this...

Screens have an associated colourmap, which applications can make use of. When they want to display an image, they go through all the colours needed to display the image, and request a pen for each one. They can do this two ways.

One way (which hopefully nothing that expects to open on the workbench screen uses) is to call ObtainPen(). This grants exclusive access to a pen to an application, and that app can modify the colour of the pen to whatever it wants.

The other way (which the icon system uses) is called pen sharing. The app calls ObtainBestPen() with the colour that you need. The graphics library goes through all the currently used shared pens to see if any of them are close enough to the desired colour (the app can specify how close the pen has to be to count as a match. This is what the "Best/Good/Bad" cycle gadget in WB prefs changes). If no pens are close enough, it will use a new pen, change it to the desired colour and tell the app it can use the pen. If another app wants a similar colour, it can share that pen.

So, if you have two 16 colour icons that have totally different palettes, they could in theory steal 32 pens. However, if all your icons share the same palette, they all use the same pens.
Playstation Network ID: xeron6