Every time I got to do
anything interesting in an UI, I have had to dive in to read the source code of the library I have to appease. Documentation simply has not been available, explicitly marked as non-existent, or in the more hilarious cases, was outright lying.
Maemo media player? The only way to get results was to commit multiple layer violations and manually chase through at least two chains of d-pointers. (Opaque structs that are explicitly not documented.)
My own poker tracker? Welcome to Xlib internals. Mind reels at the memory alone.
Other phone software? Deep insides of Android source tree, coupled with Qt, and always - ALWAYS its -private headers.
Wayland browser? Dissect the insides of Glib, GTK+, WebKit, Pango and Cairo.
The list goes on and on. As far as I am concerned, UIs are the blighted forest where no sane person ventures alone, and few come out sane.