hsgj@batcomputer.tn.cornell.edu (Dan Green) (12/20/86)
(assume #define GREEN 1 and #define BLACK 0 for the color registers)
I have a Requester with BackFill GREEN. In this Requester,
among other gadgets there is a StringGadget. It is a global variable,
set up like:
char CurBuf[38];
SHORT CuXY[] = {0,0, 0,9, 330,9, 330,0, 0,0};
struct Border CuBor = {-9,-1,0,1,JAM1,5,CuXY,NULL};
struct StringInfo CuStr = {CurBuf,NULL,0,38,0};
struct Gadget CuGad = {
NULL,16,4,320,10,GADGHNONE,RELVERIFY,STRGADGET|REQGADGET,
(APTR)&CuBor,NULL,NULL,NULL,(APTR)&CuStr,CUGAD,NULL};
Three String Gadget problems arise:
1) There is no "LeftEdge" as in IntuiText; eg the text of the string
gadget is flush with the border. My solution, seen above, is to
ofset the border by -9 (one topaz-8 char + 1 pixel border). I feel
though that this is a kludge.
2) Apparently I have no control over the font of the string gadget text.
3) Serious Woes: There is no way to specify text/background color of
the string gadget to my knowledge. In my case, Intuition apparently
is using JAM2 with BLACK background and GREEN text.
Unfortunately, in my requester, this makes the cursor invisible.
Is there any way to get JAM1 with the text color BLACK on my
requesters already GREEN border?
I am most concerned about question 3. What I have tried so far is:
1) Tried GADGHCOMP mode. Limited success - I got a cursor, but it was
in color pen 3. Since this requester may have to work in a one bitplane,
I don't know if this is ok. No effect on the background/forground
and JAM2 of the text, though.
2) Tried putting some CuGad.GadgetText = some intuitext which is just spaces
in the correct color. No effect.
3) Blew my nose. No effect.
If there's no solution, I'll have to bag the string gadget. As it is, I
have been using PrintIText() a lot, because I have been unsatisfied with
the RefreshGadgets() of bool text gadgets. In other words, I have a bool
gadg with intuitext. I change the text. The manual would have me believe
that refreshgadgets will redraw the text. It does, but without clearing
the old text -- so i get overstrike smudge. Aha! I will try RemoveGad()
and then AddGad(). First, I have never gotten this to work on a Requester
gadget. Second, when it works on Window gadgets, I still get overstrike.
So my solution has been to have gad.itext = NULL and do all my own calc
and printitext. Kludge, but it gives the desired effect.
Hopefully someone can help me set the colors of the string gadget text.
Thanks, -- Dan Green
--
ARPA: hsgj%vax2.ccs.cornell.edu@cu-arpa.cs.cornell.edu
UUCP: ihnp4!cornell!batcomputer!hsgj BITNET: hsgj@cornella