flayer.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. typedef enum Vis{
  2. None=0,
  3. Some,
  4. All,
  5. }Vis;
  6. enum{
  7. Clicktime=1000, /* one second */
  8. };
  9. typedef struct Flayer Flayer;
  10. struct Flayer
  11. {
  12. Frame f;
  13. long origin; /* offset of first char in flayer */
  14. long p0, p1;
  15. long click; /* time at which selection click occurred, in HZ */
  16. Rune *(*textfn)(Flayer*, long, ulong*);
  17. int user0;
  18. void *user1;
  19. Rectangle entire;
  20. Rectangle scroll;
  21. Rectangle lastsr; /* geometry of scrollbar when last drawn */
  22. Vis visible;
  23. };
  24. void flborder(Flayer*, int);
  25. void flclose(Flayer*);
  26. void fldelete(Flayer*, long, long);
  27. void flfp0p1(Flayer*, ulong*, ulong*);
  28. void flinit(Flayer*, Rectangle, Font*, Image**);
  29. void flinsert(Flayer*, Rune*, Rune*, long);
  30. void flnew(Flayer*, Rune *(*fn)(Flayer*, long, ulong*), int, void*);
  31. int flprepare(Flayer*);
  32. Rectangle flrect(Flayer*, Rectangle);
  33. void flrefresh(Flayer*, Rectangle, int);
  34. void flresize(Rectangle);
  35. int flselect(Flayer*);
  36. void flsetselect(Flayer*, long, long);
  37. void flstart(Rectangle);
  38. void flupfront(Flayer*);
  39. Flayer *flwhich(Point);
  40. #define FLMARGIN 4
  41. #define FLSCROLLWID 12
  42. #define FLGAP 4
  43. extern Image *maincols[NCOL];
  44. extern Image *cmdcols[NCOL];