Note you *must* set the alpha part colour back to 0xFF as it may seem to work without doing that for the moment, but *will* break later if alpha blending od text is implemented / released.
Using pens will not work at all as pens don't do alpha values.
On non-composited screens, AmiDock uses a "fake" transparency effect (i.e. the bitmap is filled with the contents of the window behind the dock), meaning that you can only add things over the background but you cannot render half or totally transparent contents without doing the blending at the same time (or you'll lose background information).
So if you want to support this configuration you need to follow this rule or provide an alternate rendering if you want to do fancy stuff when compositing is enabled.
Now, what you are trying to do should work on composited screens, but you have to tell AmiDock that you are using composited mode (see DOCKYGET_SupportsComposite and DOCKYGET_CompositeMode) so that it does not try to de-multiply the docky bitmap. Also I'm not sure you can use legacy pens to fill alpha channel, you're better off with direct ARGB painting (see SetRPAttrs() with RPTAG_APenColor).
I like the look of your network activity docky. I've been using the DiskLED docky to indicate network activity on my Sam460, but your docky provides more info.
When will it be released?
EDIT: I just noticed the news release on the front page, so it's already available.
Edit : Is somebody knows if it's possible to add a Docky to AmiUpdate ? Because, unlike a normal application, APPDIR:NetDock doesn't work. Thank you
Yes, define the following function (AFAIR this is the example provided on AmiUpdate website) :
Quote:
/********************************************************** ** ** The following function saves the variable name passed in ** 'varname' to the ENV(ARC) system so that the application ** can become AmiUpdate aware. ** **********************************************************/ static void SetAmiUpdateENVVariable(CONST_STRPTR varname, CONST_STRPTR progpath ) { /* AmiUpdate support code */ APTR oldwin = NULL; TEXT varpath[1024] = "AppPaths";
/* stop any "Insert volume..." type requesters */ oldwin = IDOS->SetProcWindow((APTR)-1);
/* finally set the variable to the path the executable was run from don't forget to supply the variable name to suit your application */