Compass Menu class been improved and is no longer view specific. It can be created for any window, whether it actually fit into the canvas of the window or not.
// to create a compass
#include <real/gadget/r3compassgd.h>
char *my_labels[] = {
"North",
"North-West",
"West",
"Souht-West",
"South",
"South-East",
"East",
"North-East",
NULL
};
compass = R3New(R3CLID_COMPASSGADGET,
R3WGA_Parent, window,
R3CMPSGA_Rings, 1,
R3CMPSGA_Labels, my_labels,
R3RA_Hook, my_hook,
R3TAG_END);
The SDK contains a new example
samples/applications/gadgets/compass.c demonstrating
the usage of compass menus.