4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS.
16 #include "FuncStatus.h"
18 #include <boost/function.hpp>
28 class LyXServerSocket;
38 /// are we using the GUI at all
41 /// return a suitable serif font name (called from non-gui context too !)
42 std::string const roman_font_name();
44 /// return a suitable sans serif font name (called from non-gui context too !)
45 std::string const sans_font_name();
47 /// return a suitable monospaced font name (called from non-gui context too !)
48 std::string const typewriter_font_name();
51 * set up GUI parameters. At this point lyxrc may
57 * Create the main window with given geometry settings
59 LyXView * create_view(unsigned int width, unsigned int height, int posx, int posy,
63 * Start the main event loop, after executing the given
66 int start(LyXView* view, std::string const & batch);
69 * Enter the main event loop (\sa LyX::exec2)
71 int exec(int & argc, char * argv[]);
74 * Synchronise all pending events.
79 * Quit running LyX. This may either quit directly or record the exit status
80 * and only stop the event loop.
85 * return the status flag for a given action. This can be used to tell
86 * that a given lfun is not implemented by a frontend
88 FuncStatus getStatus(FuncRequest const & ev);
91 * Given col, fills r, g, b in the range 0-255.
92 * The function returns true if successful.
93 * It returns false on failure and sets r, g, b to 0.
95 bool getRGBColor(LColor_color col, lyx::RGBColor & rgbcol);
97 /** Eg, passing LColor::black returns "000000",
98 * passing LColor::white returns "ffffff".
100 std::string const hexname(LColor_color col);
103 * update an altered GUI color
105 void update_color(LColor_color col);
108 * update the font cache
113 * is the given font available ?
115 bool font_available(LyXFont const & font);
118 * add a callback for socket read notification
119 * @param fd socket descriptor (file/socket/etc)
121 void register_socket_callback(int fd, boost::function<void()> func);
124 * remove a I/O read callback
125 * @param fd socket descriptor (file/socket/etc)
127 void unregister_socket_callback(int fd);
129 } // namespace lyx_gui