[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

If 2.0 Intuition finds a gadget whose hit area (Gadget LeftEdge/TopEdge/
Width/Height) is substantially inside the border, it will be treated as
though it was declared in the border.  This is called "bordersniffing".
Gadgets declared as being in the border or detected by Intuition as being
in the border are refreshed each time after the border is refreshed, and
thus aren't clobbered.

Noteworthy special cases:

 1) A gadget that has several pixels not in the border is not
    bordersniffed. An example would be an 18-pixel high gadget in the
    bottom border of a SIZEBBOTTOM window.  About half the gadget will be
    clobbered by the border rendering.

 2) A gadget that is not substantially in the border but has imagery that
    extends into the border cannot be sniffed out by Intuition.

 3) A gadget that is substantially in the border but has imagery that
    extends into the main part of the window will be sniffed out as a
    border gadget, and this could change the refreshing results.  A
    common trick to put imagery in a window is to put a 1x1 or 0x0 dummy
    gadget at window location (0,0) and attach the window imagery to it.
    To support this, Intuition will never bordersniff gadgets of size 1x1
    or smaller.

    All these cases can be fixed by setting the appropriate
    GACT_xxxBORDER gadget Activation flag.

 4) In rare cases, buttons rendered with Border structures and JAM1 text
    may appear invisible under Release 2.

The height of the window's title bar is affected by the current font
settings.  See the discussion of "Screen Attributes" in the "Intuition
Screens" chapter. To predict your window's titlebar height before you call
OpenWindow():

    topborder = screen->WBorTop + screen->Font->ta_YSize + 1

The screen's font may not legally be changed after a screen is opened.

Be sure the screen cannot go away on you.  This is true if:

    1) You opened the screen yourself.

    2) You currently have a window open on the screen.

    3) You currently hold a lock on this screen (see LockPubScreen()).

IntuiText rendered into a window (either through PrintIText() or as a
gadget's GadgetText) defaults to the Window RastPort font, but can be
overridden using its ITextFont field.  Text rendered with the Text()
function appears in the Window RastPort font.

The Window's RPort's font shown above is the initial font that Intuition
sets for you in your window's RastPort. It is legal to change that
subsequently with SetFont().


[Back to Amiga Developer Docs]