Select Git revision
Forked from
gmsh / gmsh
Source project has a limited visibility.
FlGui.cpp 28.98 KiB
// Gmsh - Copyright (C) 1997-2011 C. Geuzaine, J.-F. Remacle
//
// See the LICENSE.txt file for license information. Please report all
// bugs and problems to <gmsh@geuz.org>.
#include <sstream>
#include <string.h>
#include <stdint.h>
#include <FL/Fl.H>
#include <FL/Fl_Tooltip.H>
#include <FL/Fl_Shared_Image.H>
#include <FL/Fl_File_Icon.H>
#include <FL/x.H>
#include <FL/gl.h>
#include "FlGui.h"
#include "graphicWindow.h"
#include "menuWindow.h"
#include "optionWindow.h"
#include "fieldWindow.h"
#include "pluginWindow.h"
#include "statisticsWindow.h"
#include "visibilityWindow.h"
#include "clippingWindow.h"
#include "manipWindow.h"
#include "contextWindow.h"
#include "solverWindow.h"
#include "aboutWindow.h"
#include "colorbarWindow.h"
#include "fileDialogs.h"
#include "GmshDefines.h"
#include "GmshMessage.h"
#include "GModel.h"
#include "MElement.h"
#include "PView.h"
#include "Field.h"
#include "Plugin.h"
#include "PluginManager.h"
#include "OpenFile.h"
#include "Win32Icon.h"
#include "Options.h"
#include "CommandLine.h"
#include "Context.h"
#include "StringUtils.h"
#include "Generator.h"
#include "gl2ps.h"
class drawContextFltk : public drawContextGlobal{
public:
void draw()
{
if(!FlGui::available()) return;
for(unsigned int i = 0; i < FlGui::instance()->graph.size(); i++){
for(unsigned int j = 0; j < FlGui::instance()->graph[i]->gl.size(); j++){
FlGui::instance()->graph[i]->gl[j]->make_current();
FlGui::instance()->graph[i]->gl[j]->redraw();
// to initialize the camera distance from model
drawContext * ctx = FlGui::instance()->graph[i]->gl[j]->getDrawContext();
ctx->camera.update();
}
}
FlGui::instance()->check();
}
void drawCurrentOpenglWindow(bool make_current)
{
if(!FlGui::available()) return;
openglWindow *gl = FlGui::instance()->getCurrentOpenglWindow();
if(make_current) gl->make_current();
gl->redraw();
glFlush();
FlGui::instance()->check();