Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/ui/private/entry.h

    rdb3895d ra7a8f599  
    4040#include <gfx/coord.h>
    4141#include <gfx/text.h>
     42#include <stdbool.h>
    4243
    4344/** Actual structure of text entry.
     
    5455        /** Horizontal alignment */
    5556        gfx_halign_t halign;
     57        /** Text entry is read-only */
     58        bool read_only;
    5659        /** Text */
    5760        char *text;
     61        /** Current scroll position (in pixels) */
     62        gfx_coord_t scroll_pos;
     63        /** Cursor position in the text (offset in bytes) */
     64        unsigned pos;
     65        /** Selection start position in text (offset in bytes) */
     66        unsigned sel_start;
    5867        /** Pointer is currently inside */
    5968        bool pointer_inside;
     69        /** Entry is activated */
     70        bool active;
     71        /** Button is held down */
     72        bool held;
     73        /** Left shift is held down */
     74        bool lshift_held;
     75        /** Right shift is held down */
     76        bool rshift_held;
    6077};
     78
     79/** Text entry geometry.
     80 *
     81 * Computed geometry of text entry elements.
     82 */
     83typedef struct {
     84        /** Interior rectangle */
     85        gfx_rect_t interior_rect;
     86        /** Text rectangle */
     87        gfx_rect_t text_rect;
     88        /** Text anchor position */
     89        gfx_coord2_t text_pos;
     90        /** Text anchor X coordinate */
     91        gfx_coord_t anchor_x;
     92} ui_entry_geom_t;
     93
     94extern errno_t ui_entry_insert_str(ui_entry_t *, const char *);
     95extern ui_evclaim_t ui_entry_key_press_ctrl(ui_entry_t *, kbd_event_t *);
     96extern ui_evclaim_t ui_entry_key_press_shift(ui_entry_t *, kbd_event_t *);
     97extern ui_evclaim_t ui_entry_key_press_unmod(ui_entry_t *, kbd_event_t *);
     98extern void ui_entry_get_geom(ui_entry_t *, ui_entry_geom_t *);
     99extern size_t ui_entry_find_pos(ui_entry_t *, gfx_coord2_t *);
     100extern void ui_entry_delete_sel(ui_entry_t *);
     101extern void ui_entry_scroll_update(ui_entry_t *, bool);
    61102
    62103#endif
Note: See TracChangeset for help on using the changeset viewer.