X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Flyx_gui.h;h=f3829b2af3a18c9b1a68ecac259cd4a5cd943a16;hb=e7fc677261bd14fdf159e594fcf422e985c72664;hp=0ebcebbb093f368da70583c9b9f406e190f7a30d;hpb=dd9b8de435497ce405d5dd1615dc2dc2d3ab3e63;p=lyx.git diff --git a/src/frontends/lyx_gui.h b/src/frontends/lyx_gui.h index 0ebcebbb09..f3829b2af3 100644 --- a/src/frontends/lyx_gui.h +++ b/src/frontends/lyx_gui.h @@ -6,23 +6,46 @@ * * \author John Levon * - * Full author contact details are available in file CREDITS + * Full author contact details are available in file CREDITS. */ #ifndef LYX_GUI_H #define LYX_GUI_H -#include "LColor.h" -#include "LString.h" + +#include "FuncStatus.h" + +#include + +#include #include class Dialogs; +class LColor_color; class LyXFont; class LyXComm; +class LyXDataSocket; +class LyXServerSocket; +class FuncRequest; +namespace lyx { +struct RGBColor; +} /// GUI interaction namespace lyx_gui { +/// are we using the GUI at all +extern bool use_gui; + +/// return a suitable serif font name (called from non-gui context too !) +std::string const roman_font_name(); + +/// return a suitable sans serif font name (called from non-gui context too !) +std::string const sans_font_name(); + +/// return a suitable monospaced font name (called from non-gui context too !) +std::string const typewriter_font_name(); + /// parse command line and do basic initialisation void parse_init(int & argc, char * argv[]); @@ -36,22 +59,40 @@ void parse_lyxrc(); * Start the main event loop, after executing the given * batch commands, and loading the given documents */ -void start(string const & batch, std::vector const & files); +void start(std::string const & batch, std::vector const & files); + +/** + * Synchronise all pending events. + */ +void sync_events(); /** * quit running LyX */ void exit(); +/** + * return the status flag for a given action. This can be used to tell + * that a given lfun is not implemented by a frontend + */ +FuncStatus getStatus(FuncRequest const & ev); + +/** + * Given col, fills r, g, b in the range 0-255. + * The function returns true if successful. + * It returns false on failure and sets r, g, b to 0. + */ +bool getRGBColor(LColor_color col, lyx::RGBColor & rgbcol); + /** Eg, passing LColor::black returns "000000", * passing LColor::white returns "ffffff". */ -string const hexname(LColor::color col); +std::string const hexname(LColor_color col); /** * update an altered GUI color */ -void update_color(LColor::color col); +void update_color(LColor_color col); /** * update the font cache @@ -64,14 +105,16 @@ void update_fonts(); bool font_available(LyXFont const & font); /** - * add a callback for I/O read notification + * add a callback for socket read notification + * @param fd socket descriptor (file/socket/etc) */ -void set_read_callback(int fd, LyXComm * comm); +void register_socket_callback(int fd, boost::function func); /** * remove a I/O read callback + * @param fd socket descriptor (file/socket/etc) */ -void remove_read_callback(int fd); +void unregister_socket_callback(int fd); } // namespace lyx_gui