summaryrefslogtreecommitdiff
path: root/src/entry.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/entry.h')
-rw-r--r--src/entry.h24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/entry.h b/src/entry.h
index b0e9542..6da7222 100644
--- a/src/entry.h
+++ b/src/entry.h
@@ -5,8 +5,9 @@
#include "color.h"
#include "image.h"
#include "surface.h"
+#include "string_vec.h"
-#define MAX_PASSWORD_LENGTH 64
+#define MAX_INPUT_LENGTH 64
struct entry {
struct surface surface;
@@ -14,7 +15,8 @@ struct entry {
struct image image;
struct {
PangoContext *context;
- PangoLayout *layout;
+ PangoLayout *entry_layout;
+ PangoLayout *result_layouts[5];
} pango;
struct {
cairo_surface_t *surface;
@@ -22,22 +24,21 @@ struct entry {
} cairo;
PangoRectangle text_bounds;
- wchar_t password[MAX_PASSWORD_LENGTH];
+ wchar_t input[MAX_INPUT_LENGTH];
/* Assume maximum of 4 bytes per wchar_t (for UTF-8) */
- char password_mb[4*MAX_PASSWORD_LENGTH];
- char password_mb_print[4*MAX_PASSWORD_LENGTH];
- uint32_t password_length;
- bool password_visible;
+ char input_mb[4*MAX_INPUT_LENGTH];
+ uint32_t input_length;
+ uint32_t input_mb_length;
+
+ struct string_vec results;
+ struct string_vec commands;
/* Options */
- bool use_pango;
- uint32_t dot_radius;
uint32_t font_size;
const char *font_name;
uint32_t padding;
- bool tight_layout;
- wchar_t password_character;
uint32_t num_characters;
+ uint32_t num_lines;
struct color foreground_color;
struct color background_color;
struct {
@@ -48,6 +49,7 @@ struct entry {
} border;
};
+void entry_preload(void);
void entry_init(struct entry *entry, uint32_t scale);
void entry_destroy(struct entry *entry);
void entry_update(struct entry *entry);