mirror of
https://gitlab.com/pholy/OSCAR-code.git
synced 2025-04-07 03:30:44 +00:00
OpenGL optimisations for Tickers and gLineChart
This commit is contained in:
parent
623162a539
commit
36e7368dff
@ -29,12 +29,14 @@
|
||||
<Option compiler="gcc" />
|
||||
<Option projectLinkerOptionsRelation="2" />
|
||||
<Compiler>
|
||||
<Add option="-pg" />
|
||||
<Add option="-g" />
|
||||
<Add option="`wx-config --version=2.9 --cflags`" />
|
||||
<Add directory="../../src/libs" />
|
||||
<Add directory="../../src" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add option="-pg" />
|
||||
<Add option="`wx-config --version=2.9 --libs aui,xrc,qa,html,adv,gl,core,net,base`" />
|
||||
</Linker>
|
||||
</Target>
|
||||
@ -68,14 +70,17 @@
|
||||
<Compiler>
|
||||
<Add option="-march=i686" />
|
||||
<Add option="-O2" />
|
||||
<Add option="-pg" />
|
||||
<Add option="-g" />
|
||||
<Add option="-I/usr/include/freetype2" />
|
||||
<Add option="`i686-pc-mingw32-wx-config --version=2.8 --cflags`" />
|
||||
<Add option="`i686-pc-mingw32-wx-config --version=2.9 --cflags`" />
|
||||
<Add directory="../../src/libs" />
|
||||
<Add directory="../../src" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add option="-s" />
|
||||
<Add option="`i686-pc-mingw32-wx-config --version=2.8 --libs gl,richtext,aui,xrc,qa,html,adv,core,xml,net,base`" />
|
||||
<Add option="-pg" />
|
||||
<Add option="`i686-pc-mingw32-wx-config --version=2.9 --libs gl,richtext,aui,xrc,qa,html,adv,core,xml,net,base`" />
|
||||
<Add option="-lfreetype" />
|
||||
<Add option="-lGLEW" />
|
||||
<Add option="-lopengl32" />
|
||||
|
@ -8309,7 +8309,7 @@
|
||||
|
||||
1308026543 D
|
||||
|
||||
1308153347 /home/mark/projects/git/sleepyhead/src/version.h
|
||||
1308212286 /home/mark/projects/git/sleepyhead/src/version.h
|
||||
|
||||
1308003040 ent of cb2ab33... Linux wx2.8 & wx2.9 builds fixed
|
||||
<wx/dcbuffer.h>
|
||||
@ -8341,7 +8341,7 @@
|
||||
"preferences.h"
|
||||
"tinyxml/tinyxml.h"
|
||||
|
||||
1308140971 source:/home/mark/projects/git/sleepyhead/src/SleepyHeadMain.cpp
|
||||
1308160664 source:/home/mark/projects/git/sleepyhead/src/SleepyHeadMain.cpp
|
||||
"wx_pch.h"
|
||||
"version.h"
|
||||
<wx/app.h>
|
||||
@ -8362,7 +8362,7 @@
|
||||
"sleeplib/profiles.h"
|
||||
"sleeplib/machine_loader.h"
|
||||
|
||||
1308152899 source:/home/mark/projects/git/sleepyhead/src/graphs/graph.cpp
|
||||
1308212184 source:/home/mark/projects/git/sleepyhead/src/graphs/graph.cpp
|
||||
"freetype-gl/font-manager.h"
|
||||
"freetype-gl/texture-font.h"
|
||||
"graph.h"
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<CodeBlocks_layout_file>
|
||||
<ActiveTarget name="Debug-wx29" />
|
||||
<ActiveTarget name="Windows" />
|
||||
<File name="../../src/GUIFrame.cpp" open="1" top="0" tabpos="9">
|
||||
<Cursor position="6211" topLine="144" />
|
||||
</File>
|
||||
@ -11,7 +11,7 @@
|
||||
<Cursor position="1078" topLine="44" />
|
||||
</File>
|
||||
<File name="../../src/SleepyHeadMain.cpp" open="1" top="0" tabpos="1">
|
||||
<Cursor position="29385" topLine="793" />
|
||||
<Cursor position="24248" topLine="650" />
|
||||
</File>
|
||||
<File name="../../src/SleepyHeadMain.h" open="1" top="0" tabpos="2">
|
||||
<Cursor position="2035" topLine="47" />
|
||||
@ -20,16 +20,16 @@
|
||||
<Cursor position="0" topLine="0" />
|
||||
</File>
|
||||
<File name="../../src/graphs/gl_pbuffer.cpp" open="1" top="0" tabpos="5">
|
||||
<Cursor position="5466" topLine="159" />
|
||||
<Cursor position="8152" topLine="220" />
|
||||
</File>
|
||||
<File name="../../src/graphs/gl_pbuffer.h" open="1" top="0" tabpos="6">
|
||||
<Cursor position="382" topLine="0" />
|
||||
<Cursor position="644" topLine="58" />
|
||||
</File>
|
||||
<File name="../../src/graphs/graph.cpp" open="1" top="1" tabpos="3">
|
||||
<Cursor position="44916" topLine="1656" />
|
||||
<Cursor position="54702" topLine="2014" />
|
||||
</File>
|
||||
<File name="../../src/graphs/graph.h" open="1" top="0" tabpos="4">
|
||||
<Cursor position="285" topLine="0" />
|
||||
<Cursor position="10808" topLine="297" />
|
||||
</File>
|
||||
<File name="../../src/libs/freetype-gl/font-manager.cpp" open="0" top="0" tabpos="9">
|
||||
<Cursor position="0" topLine="0" />
|
||||
|
@ -630,10 +630,150 @@ Daily::Daily(wxWindow *win,Profile *p)
|
||||
|
||||
Notebook->AddPage(HTMLInfo,wxT("Details"),false,wxNullBitmap);
|
||||
Notebook->AddPage(EventTree,wxT("Events"),false,wxNullBitmap);
|
||||
|
||||
|
||||
AddCPAPData(flags[0]=new FlagData(CPAP_CSR,7,1,0));
|
||||
AddCPAPData(flags[1]=new FlagData(CPAP_ClearAirway,6));
|
||||
AddCPAPData(flags[2]=new FlagData(CPAP_Obstructive,5));
|
||||
AddCPAPData(flags[3]=new FlagData(CPAP_Hypopnea,4));
|
||||
AddCPAPData(flags[4]=new FlagData(CPAP_FlowLimit,3));
|
||||
AddCPAPData(flags[5]=new FlagData(CPAP_VSnore,2));
|
||||
AddCPAPData(flags[6]=new FlagData(CPAP_RERA,1));
|
||||
AddCPAPData(flags[7]=new FlagData(PRS1_PressurePulse,1));
|
||||
AddCPAPData(flags[8]=new FlagData(PRS1_VSnore2,1));
|
||||
AddCPAPData(flags[9]=new FlagData(PRS1_Unknown0E,1));
|
||||
|
||||
|
||||
AddCPAPData(frw=new WaveData(CPAP_FlowRate));
|
||||
FRW=new gGraphWindow(GraphWindow,-1,wxT("Flow Rate"),wxPoint(0,0), wxSize(600,150), wxNO_BORDER);
|
||||
gLineChart *g;
|
||||
FRW->AddLayer(new gYAxis(wxBLACK));
|
||||
FRW->AddLayer(new gXAxis(wxBLACK));
|
||||
FRW->AddLayer(new gFooBar());
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[0],wxGREEN2,wxT("CSR")));
|
||||
FRW->AddLayer(g=new gLineChart(frw,wxBLACK,200000,true));
|
||||
g->ReportEmpty(true);
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[7],wxRED,wxT("PR"),LOT_Dot));
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[6],wxYELLOW,wxT("RE")));
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[9],wxDARK_GREEN,wxT("U0E")));
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[5],wxRED,wxT("VS")));
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[4],wxBLACK,wxT("FL")));
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[3],wxBLUE,wxT("H")));
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[2],wxAQUA,wxT("OA")));
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[1],wxPURPLE,wxT("CA")));
|
||||
|
||||
SF=new gGraphWindow(GraphWindow,-1,wxT("Event Flags"),wxPoint(0,0), wxSize(600,180), wxNO_BORDER);
|
||||
|
||||
AddCPAPData(pressure_iap=new EventData(CPAP_IAP));
|
||||
AddCPAPData(pressure_eap=new EventData(CPAP_EAP));
|
||||
AddCPAPData(prd=new EventData(CPAP_Pressure));
|
||||
PRD=new gGraphWindow(GraphWindow,-1,wxT("Pressure"),wxPoint(0,0), wxSize(600,130), wxNO_BORDER);
|
||||
PRD->AddLayer(new gXAxis(wxBLACK));
|
||||
PRD->AddLayer(new gYAxis(wxBLACK));
|
||||
PRD->AddLayer(new gFooBar());
|
||||
PRD->AddLayer(new gLineChart(prd,wxDARK_GREEN,4096,false,false,true));
|
||||
PRD->AddLayer(new gLineChart(pressure_iap,wxBLUE,4096,false,true,true));
|
||||
PRD->AddLayer(new gLineChart(pressure_eap,wxRED,4096,false,true,true));
|
||||
|
||||
|
||||
AddCPAPData(leakdata=new EventData(CPAP_Leak,0));
|
||||
//leakdata->ForceMinY(0);
|
||||
//leakdata->ForceMaxY(120);
|
||||
LEAK=new gGraphWindow(GraphWindow,-1,wxT("Leaks"),wxPoint(0,0), wxSize(600,130), wxNO_BORDER);
|
||||
LEAK->AddLayer(new gXAxis(wxBLACK));
|
||||
LEAK->AddLayer(new gYAxis(wxBLACK));
|
||||
LEAK->AddLayer(new gFooBar());
|
||||
LEAK->AddLayer(new gLineChart(leakdata,wxPURPLE,4096,false,false,false));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// SF->SetMargins(10,15,20,80);
|
||||
|
||||
// #endif
|
||||
|
||||
const int sfc=9;
|
||||
|
||||
|
||||
SF->SetLeftMargin(SF->GetLeftMargin()+gYAxis::Margin);
|
||||
SF->SetBlockZoom(true);
|
||||
SF->AddLayer(new gXAxis(wxBLACK));
|
||||
SF->AddLayer(new gFlagsLine(flags[9],wxDARK_GREEN,wxT("U0E"),8,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[8],wxRED,wxT("VS2"),6,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[6],wxYELLOW,wxT("RE"),7,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[5],wxRED,wxT("VS"),5,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[4],wxBLACK,wxT("FL"),4,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[3],wxBLUE,wxT("H"),3,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[2],wxAQUA,wxT("OA"),2,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[1],wxPURPLE,wxT("CA"),1,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[0],wxGREEN2,wxT("CSR"),0,sfc));
|
||||
SF->AddLayer(new gFooBar(wxGREEN,wxDARK_GREY,true));
|
||||
|
||||
|
||||
AddCPAPData(snore=new EventData(CPAP_SnoreGraph,0));
|
||||
//snore->ForceMinY(0);
|
||||
//snore->ForceMaxY(15);
|
||||
SNORE=new gGraphWindow(GraphWindow,-1,wxT("Snore"),wxPoint(0,0), wxSize(600,130), wxNO_BORDER);
|
||||
SNORE->AddLayer(new gXAxis(wxBLACK));
|
||||
SNORE->AddLayer(new gYAxis(wxBLACK));
|
||||
SNORE->AddLayer(new gFooBar());
|
||||
SNORE->AddLayer(new gLineChart(snore,wxDARK_GREY,4096,false,false,true));
|
||||
|
||||
AddOXIData(pulse=new EventData(OXI_Pulse,0,65536,true));
|
||||
//pulse->ForceMinY(40);
|
||||
//pulse->ForceMaxY(120);
|
||||
|
||||
PULSE=new gGraphWindow(GraphWindow,-1,wxT("Pulse"),wxPoint(0,0), wxSize(600,130), wxNO_BORDER);
|
||||
PULSE->AddLayer(new gXAxis(wxBLACK));
|
||||
PULSE->AddLayer(new gYAxis(wxBLACK));
|
||||
PULSE->AddLayer(new gFooBar());
|
||||
PULSE->AddLayer(new gLineChart(pulse,wxRED,65536,false,false,true));
|
||||
|
||||
AddOXIData(spo2=new EventData(OXI_SPO2,0,65536,true));
|
||||
//spo2->ForceMinY(60);
|
||||
//spo2->ForceMaxY(100);
|
||||
SPO2=new gGraphWindow(GraphWindow,-1,wxT("SpO2"),wxPoint(0,0), wxSize(600,130), wxNO_BORDER);
|
||||
SPO2->AddLayer(new gXAxis(wxBLACK));
|
||||
SPO2->AddLayer(new gYAxis(wxBLACK));
|
||||
SPO2->AddLayer(new gFooBar());
|
||||
SPO2->AddLayer(new gLineChart(spo2,wxBLUE,65536,false,false,true));
|
||||
SPO2->LinkZoom(PULSE);
|
||||
PULSE->LinkZoom(SPO2);
|
||||
|
||||
|
||||
// #if defined(__UNIX__)
|
||||
FRW->LinkZoom(SF);
|
||||
FRW->LinkZoom(PRD);
|
||||
FRW->LinkZoom(LEAK);
|
||||
FRW->LinkZoom(SNORE);
|
||||
SF->LinkZoom(FRW);
|
||||
SF->LinkZoom(PRD); // Uncomment to link in more graphs.. Too slow on windows.
|
||||
SF->LinkZoom(LEAK);
|
||||
SF->LinkZoom(SNORE);
|
||||
PRD->LinkZoom(SF);
|
||||
PRD->LinkZoom(FRW);
|
||||
PRD->LinkZoom(LEAK);
|
||||
PRD->LinkZoom(SNORE);
|
||||
LEAK->LinkZoom(SF);
|
||||
LEAK->LinkZoom(FRW);
|
||||
LEAK->LinkZoom(PRD);
|
||||
LEAK->LinkZoom(SNORE);
|
||||
SNORE->LinkZoom(SF);
|
||||
SNORE->LinkZoom(FRW);
|
||||
SNORE->LinkZoom(PRD);
|
||||
SNORE->LinkZoom(LEAK);
|
||||
|
||||
|
||||
|
||||
|
||||
AddCPAPData(tap_eap=new TAPData(CPAP_EAP));
|
||||
AddCPAPData(tap_iap=new TAPData(CPAP_IAP));
|
||||
AddCPAPData(tap=new TAPData(CPAP_Pressure));
|
||||
|
||||
|
||||
|
||||
TAP=new gGraphWindow(GraphWindow,-1,wxT(""),wxPoint(0,0), wxSize(600,30), wxNO_BORDER); //Time@Pressure
|
||||
//TAP->SetMargins(20,15,5,50);
|
||||
TAP->SetMargins(0,1,0,1);
|
||||
@ -666,166 +806,37 @@ Daily::Daily(wxWindow *win,Profile *p)
|
||||
l->color.push_back(*wxGREEN2);
|
||||
G_AHI->AddLayer(l);
|
||||
|
||||
AddOXIData(pulse=new EventData(OXI_Pulse,0,65536,true));
|
||||
//pulse->ForceMinY(40);
|
||||
//pulse->ForceMaxY(120);
|
||||
|
||||
PULSE=new gGraphWindow(GraphWindow,-1,wxT("Pulse"),wxPoint(0,0), wxSize(600,130), wxNO_BORDER);
|
||||
PULSE->AddLayer(new gXAxis(wxBLACK));
|
||||
PULSE->AddLayer(new gYAxis(wxBLACK));
|
||||
PULSE->AddLayer(new gFooBar());
|
||||
PULSE->AddLayer(new gLineChart(pulse,wxRED,65536,false,false,true));
|
||||
|
||||
AddOXIData(spo2=new EventData(OXI_SPO2,0,65536,true));
|
||||
//spo2->ForceMinY(60);
|
||||
//spo2->ForceMaxY(100);
|
||||
SPO2=new gGraphWindow(GraphWindow,-1,wxT("SpO2"),wxPoint(0,0), wxSize(600,130), wxNO_BORDER);
|
||||
SPO2->AddLayer(new gXAxis(wxBLACK));
|
||||
SPO2->AddLayer(new gYAxis(wxBLACK));
|
||||
SPO2->AddLayer(new gFooBar());
|
||||
SPO2->AddLayer(new gLineChart(spo2,wxBLUE,65536,false,false,true));
|
||||
SPO2->LinkZoom(PULSE);
|
||||
PULSE->LinkZoom(SPO2);
|
||||
|
||||
|
||||
|
||||
AddCPAPData(leakdata=new EventData(CPAP_Leak,0));
|
||||
//leakdata->ForceMinY(0);
|
||||
//leakdata->ForceMaxY(120);
|
||||
LEAK=new gGraphWindow(GraphWindow,-1,wxT("Leaks"),wxPoint(0,0), wxSize(600,130), wxNO_BORDER);
|
||||
LEAK->AddLayer(new gXAxis(wxBLACK));
|
||||
LEAK->AddLayer(new gYAxis(wxBLACK));
|
||||
LEAK->AddLayer(new gFooBar());
|
||||
LEAK->AddLayer(new gLineChart(leakdata,wxPURPLE,4096,false,false,false));
|
||||
|
||||
|
||||
AddCPAPData(snore=new EventData(CPAP_SnoreGraph,0));
|
||||
//snore->ForceMinY(0);
|
||||
//snore->ForceMaxY(15);
|
||||
SNORE=new gGraphWindow(GraphWindow,-1,wxT("Snore"),wxPoint(0,0), wxSize(600,130), wxNO_BORDER);
|
||||
SNORE->AddLayer(new gXAxis(wxBLACK));
|
||||
SNORE->AddLayer(new gYAxis(wxBLACK));
|
||||
SNORE->AddLayer(new gFooBar());
|
||||
SNORE->AddLayer(new gLineChart(snore,wxDARK_GREY,4096,false,false,true));
|
||||
|
||||
AddCPAPData(pressure_iap=new EventData(CPAP_IAP));
|
||||
AddCPAPData(pressure_eap=new EventData(CPAP_EAP));
|
||||
AddCPAPData(prd=new EventData(CPAP_Pressure));
|
||||
PRD=new gGraphWindow(GraphWindow,-1,wxT("Pressure"),wxPoint(0,0), wxSize(600,130), wxNO_BORDER);
|
||||
PRD->AddLayer(new gXAxis(wxBLACK));
|
||||
PRD->AddLayer(new gYAxis(wxBLACK));
|
||||
PRD->AddLayer(new gFooBar());
|
||||
PRD->AddLayer(new gLineChart(prd,wxDARK_GREEN,4096,false,false,false));
|
||||
PRD->AddLayer(new gLineChart(pressure_iap,wxBLUE,4096,false,true,true));
|
||||
PRD->AddLayer(new gLineChart(pressure_eap,wxRED,4096,false,true,true));
|
||||
|
||||
|
||||
SF=new gGraphWindow(GraphWindow,-1,wxT("Event Flags"),wxPoint(0,0), wxSize(600,180), wxNO_BORDER);
|
||||
// SF->SetMargins(10,15,20,80);
|
||||
|
||||
// #endif
|
||||
|
||||
const int sfc=9;
|
||||
|
||||
AddCPAPData(flags[0]=new FlagData(CPAP_CSR,7,1,0));
|
||||
AddCPAPData(flags[1]=new FlagData(CPAP_ClearAirway,6));
|
||||
AddCPAPData(flags[2]=new FlagData(CPAP_Obstructive,5));
|
||||
AddCPAPData(flags[3]=new FlagData(CPAP_Hypopnea,4));
|
||||
AddCPAPData(flags[4]=new FlagData(CPAP_FlowLimit,3));
|
||||
AddCPAPData(flags[5]=new FlagData(CPAP_VSnore,2));
|
||||
AddCPAPData(flags[6]=new FlagData(CPAP_RERA,1));
|
||||
AddCPAPData(flags[7]=new FlagData(PRS1_PressurePulse,1));
|
||||
AddCPAPData(flags[8]=new FlagData(PRS1_VSnore2,1));
|
||||
AddCPAPData(flags[9]=new FlagData(PRS1_Unknown0E,1));
|
||||
|
||||
SF->SetLeftMargin(SF->GetLeftMargin()+gYAxis::Margin);
|
||||
SF->SetBlockZoom(true);
|
||||
SF->AddLayer(new gXAxis(wxBLACK));
|
||||
SF->AddLayer(new gFlagsLine(flags[9],wxDARK_GREEN,wxT("U0E"),8,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[8],wxRED,wxT("VS2"),6,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[6],wxYELLOW,wxT("RE"),7,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[5],wxRED,wxT("VS"),5,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[4],wxBLACK,wxT("FL"),4,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[3],wxBLUE,wxT("H"),3,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[2],wxAQUA,wxT("OA"),2,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[1],wxPURPLE,wxT("CA"),1,sfc));
|
||||
SF->AddLayer(new gFlagsLine(flags[0],wxGREEN2,wxT("CSR"),0,sfc));
|
||||
SF->AddLayer(new gFooBar(wxGREEN,wxDARK_GREY,true));
|
||||
|
||||
|
||||
AddCPAPData(frw=new WaveData(CPAP_FlowRate));
|
||||
FRW=new gGraphWindow(GraphWindow,-1,wxT("Flow Rate"),wxPoint(0,0), wxSize(600,150), wxNO_BORDER);
|
||||
|
||||
|
||||
gLineChart *g;
|
||||
FRW->AddLayer(new gYAxis(wxBLACK));
|
||||
FRW->AddLayer(new gXAxis(wxBLACK));
|
||||
FRW->AddLayer(new gFooBar());
|
||||
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[0],wxGREEN2,wxT("CSR")));
|
||||
FRW->AddLayer(g=new gLineChart(frw,wxBLACK,200000,true));
|
||||
g->ReportEmpty(true);
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[7],wxRED,wxT("PR"),LOT_Dot));
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[6],wxYELLOW,wxT("RE")));
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[9],wxDARK_GREEN,wxT("U0E")));
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[5],wxRED,wxT("VS")));
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[4],wxBLACK,wxT("FL")));
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[3],wxBLUE,wxT("H")));
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[2],wxAQUA,wxT("OA")));
|
||||
FRW->AddLayer(new gLineOverlayBar(flags[1],wxPURPLE,wxT("CA")));
|
||||
|
||||
|
||||
// #if defined(__UNIX__)
|
||||
FRW->LinkZoom(SF);
|
||||
FRW->LinkZoom(PRD);
|
||||
FRW->LinkZoom(LEAK);
|
||||
FRW->LinkZoom(SNORE);
|
||||
SF->LinkZoom(FRW);
|
||||
SF->LinkZoom(PRD); // Uncomment to link in more graphs.. Too slow on windows.
|
||||
SF->LinkZoom(LEAK);
|
||||
SF->LinkZoom(SNORE);
|
||||
PRD->LinkZoom(SF);
|
||||
PRD->LinkZoom(FRW);
|
||||
PRD->LinkZoom(LEAK);
|
||||
PRD->LinkZoom(SNORE);
|
||||
LEAK->LinkZoom(SF);
|
||||
LEAK->LinkZoom(FRW);
|
||||
LEAK->LinkZoom(PRD);
|
||||
LEAK->LinkZoom(SNORE);
|
||||
SNORE->LinkZoom(SF);
|
||||
SNORE->LinkZoom(FRW);
|
||||
SNORE->LinkZoom(PRD);
|
||||
SNORE->LinkZoom(LEAK);
|
||||
|
||||
G_AHI->Hide();
|
||||
TAP->Hide();
|
||||
TAP_IAP->Hide();
|
||||
TAP_EAP->Hide();
|
||||
|
||||
gwSizer->Add(SF,1,wxEXPAND);
|
||||
gwSizer->Add(FRW,1,wxEXPAND);
|
||||
gwSizer->Add(PRD,1,wxEXPAND);
|
||||
gwSizer->Add(LEAK,1,wxEXPAND);
|
||||
gwSizer->Add(SNORE,1,wxEXPAND);
|
||||
gwSizer->Add(TAP,1,wxEXPAND);
|
||||
//gwSizer->Add(TAP,1,wxEXPAND);
|
||||
gwSizer->Add(PULSE,1,wxEXPAND);
|
||||
gwSizer->Add(SPO2,1,wxEXPAND);
|
||||
|
||||
|
||||
gwSizer->Layout();
|
||||
G_AHI->Hide();
|
||||
TAP->Hide();
|
||||
TAP_IAP->Hide();
|
||||
TAP_EAP->Hide();
|
||||
//fgSizer->Add(G_AHI,1,wxEXPAND);
|
||||
//fgSizer->Add(TAP,1,wxEXPAND);
|
||||
//fgSizer->Add(TAP_IAP,1,wxEXPAND);
|
||||
//fgSizer->Add(TAP_EAP,1,wxEXPAND);
|
||||
|
||||
this->Connect(wxEVT_COMMAND_TREE_SEL_CHANGED, wxTreeEventHandler( Daily::OnEventTreeSelection), NULL, this);
|
||||
this->Connect(wxEVT_COMMAND_TREE_SEL_CHANGED, wxTreeEventHandler(Daily::OnEventTreeSelection), NULL, this);
|
||||
this->Connect(wxID_ANY, wxEVT_REFRESH_DAILY, wxCommandEventHandler(Daily::RefreshData));
|
||||
|
||||
|
||||
//this->Connect(wxEVT_SCROLLWIN_THUMBTRACK
|
||||
//EVT_SCROLLWIN_THUMBTRACK(Daily::OnWinScroll)
|
||||
//this->Connect(GraphWindow->GetId(),wxEVT_SCROLLWIN_THUMBTRACK, wxScrollWinEventHandler(Daily::OnWinScroll));
|
||||
|
||||
Refresh();
|
||||
//Update();
|
||||
Refresh(); // Important. Don't change the order of the next two lines.
|
||||
ResetDate();
|
||||
}
|
||||
|
||||
@ -1245,6 +1256,7 @@ void Daily::RefreshData(wxCommandEvent& event)
|
||||
html+=wxT("</table></div></body></html>");
|
||||
HTMLInfo->SetPage(html);
|
||||
Refresh();
|
||||
event.Skip();
|
||||
}
|
||||
void Daily::OnSelectSession( wxCommandEvent& event )
|
||||
{
|
||||
|
@ -31,6 +31,8 @@ License: LGPL
|
||||
#error "OpenGL required: set wxUSE_GLCANVAS to 1 and rebuild the wx library"
|
||||
#endif
|
||||
|
||||
//#define EXTRA_ASSERTS
|
||||
|
||||
extern pBuffer *buffer;
|
||||
|
||||
#if !wxCHECK_VERSION(2,9,0)
|
||||
@ -64,15 +66,23 @@ TextMarkup *markup=NULL;
|
||||
// Must be called from a thread inside the application.
|
||||
void GraphInit()
|
||||
{
|
||||
#if defined(__WXMSW__)
|
||||
static bool glewinit_called=false;
|
||||
if (!glewinit_called) {
|
||||
glewInit(); // Dont forget this nasty little sucker.. :)
|
||||
glewinit_called=true;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!gfont_init) {
|
||||
#if defined(__WXMSW__)
|
||||
if (!glewinit_called) {
|
||||
glewInit(); // Dont forget this nasty little sucker.. :)
|
||||
glewinit_called=true;
|
||||
}
|
||||
#endif
|
||||
wxString glvendor=wxString((char *)glGetString(GL_VENDOR),wxConvUTF8);
|
||||
wxString glrenderer=wxString((char *)glGetString(GL_RENDERER),wxConvUTF8);
|
||||
wxString glversion=wxString((char *)glGetString(GL_VERSION),wxConvUTF8);
|
||||
wxLogDebug(wxT("GLInfo: ")+glvendor+wxT(" ")+glrenderer+wxT(" ")+glversion);
|
||||
if (!glGenBuffers) {
|
||||
wxLogError(wxT("Sorry, your computers graphics card drivers are too old to run this program.\n")+glvendor+wxT(" may have an update"));
|
||||
abort();
|
||||
}
|
||||
|
||||
font_manager=new FontManager();
|
||||
vbuffer=new VertexBuffer((char *)"v3i:t2f:c4f");
|
||||
zfont=font_manager->GetFromFilename(pref.Get("{home}{sep}FreeSans.ttf"),12);
|
||||
@ -1336,7 +1346,7 @@ void gGraphWindow::DataChanged(gLayer *layer)
|
||||
}
|
||||
|
||||
long l=t.GetMilliseconds().GetLo();
|
||||
wxLogMessage(wxString::Format(wxT("%li"),l));
|
||||
//wxLogMessage(wxString::Format(wxT("%li"),l));
|
||||
if ((t==wxTimeSpan::Milliseconds(0)) && (layer!=lastlayer)) {
|
||||
lastlayer=layer;
|
||||
return;
|
||||
@ -1435,7 +1445,6 @@ void gXAxis::Plot(gGraphWindow & w,float scrx,float scry)
|
||||
//if (min_tick>10) min_tick=10;
|
||||
}
|
||||
|
||||
//.Clip(start_px-10,start_py+height,width+20,w.GetBottomMargin());
|
||||
double st3=st;
|
||||
while (st3>minx) {
|
||||
st3-=min_tick/10.0;
|
||||
@ -1444,19 +1453,19 @@ void gXAxis::Plot(gGraphWindow & w,float scrx,float scry)
|
||||
|
||||
py=w.GetBottomMargin();
|
||||
|
||||
glLineWidth(0.25);
|
||||
glColor3f(0,0,0);
|
||||
const int maxverts=2048;
|
||||
int vertcnt=0;
|
||||
static GLfloat vertarray[maxverts+4];
|
||||
|
||||
for (double i=st3; i<=maxx; i+=min_tick/10.0) {
|
||||
if (i<minx) continue;
|
||||
//px=x2p(w,i);
|
||||
px=(i-minx)*xmult+w.GetLeftMargin(); //w.GetLeftMargin()+((i - w.min_x) * xmult);
|
||||
glBegin(GL_LINES);
|
||||
glVertex2f(px,py);
|
||||
glVertex2f(px,py-4);
|
||||
glEnd();
|
||||
px=(i-minx)*xmult+w.GetLeftMargin();
|
||||
vertarray[vertcnt++]=px;
|
||||
vertarray[vertcnt++]=py;
|
||||
vertarray[vertcnt++]=px;
|
||||
vertarray[vertcnt++]=py-4;
|
||||
}
|
||||
|
||||
//st=st3;
|
||||
|
||||
while (st<minx) {
|
||||
st+=min_tick; //10.0; // mucking with this changes the scrollyness of the ticker.
|
||||
@ -1486,25 +1495,31 @@ void gXAxis::Plot(gGraphWindow & w,float scrx,float scry)
|
||||
}
|
||||
|
||||
px=(i-minx)*xmult+w.GetLeftMargin();
|
||||
glColor3f(0,0,0);
|
||||
glBegin(GL_LINES);
|
||||
glVertex2f(px,py);
|
||||
glVertex2f(px,py-6);
|
||||
glEnd();
|
||||
vertarray[vertcnt++]=px;
|
||||
vertarray[vertcnt++]=py;
|
||||
vertarray[vertcnt++]=px;
|
||||
vertarray[vertcnt++]=py-6;
|
||||
|
||||
GetTextExtent(fd,x,y);
|
||||
|
||||
// There is a wx2.8 bug in wxMSW that screws up calculating x properly.
|
||||
const int offset=0;
|
||||
|
||||
if (!show_time) {
|
||||
DrawText(fd, px-(y/2)-2, py-(x/2)-14+offset, 90.0,*wxBLACK);
|
||||
DrawText(fd, px-(y/2)-2, py-(x/2)-14, 90.0,*wxBLACK);
|
||||
|
||||
} else {
|
||||
DrawText(fd, px-(x/2), py-14-y);
|
||||
}
|
||||
|
||||
}
|
||||
// Draw the little ticks.
|
||||
assert(vertcnt<maxverts);
|
||||
|
||||
glLineWidth(1);
|
||||
glColor3f(0,0,0);
|
||||
glEnableClientState(GL_VERTEX_ARRAY);
|
||||
glVertexPointer(2, GL_FLOAT, 0, vertarray);
|
||||
glDrawArrays(GL_LINES, 0, vertcnt>>1);
|
||||
glDisableClientState(GL_VERTEX_ARRAY); // deactivate vertex arrays after drawing
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1524,31 +1539,45 @@ gYAxis::~gYAxis()
|
||||
}
|
||||
void gYAxis::Plot(gGraphWindow &w,float scrx,float scry)
|
||||
{
|
||||
static wxColor wxDARK_GREY(0xA0,0xA0,0xA0,0xA0);
|
||||
static wxPen pen1(*wxLIGHT_GREY, 1, wxDOT);
|
||||
static wxPen pen2(wxDARK_GREY, 1, wxDOT);
|
||||
static wxColor wxDARK_GREY(0xb8,0xb8,0xb8,0xa0);
|
||||
float x,y;
|
||||
int labelW=0;
|
||||
|
||||
double miny=w.min_y;
|
||||
double maxy=w.max_y;
|
||||
if (maxy==miny)
|
||||
return;
|
||||
if (maxy==miny) return;
|
||||
if ((w.max_x-w.min_x)==0) return;
|
||||
|
||||
int start_px=w.GetLeftMargin();
|
||||
int start_py=w.GetBottomMargin();
|
||||
int width=scrx-(w.GetLeftMargin()+w.GetRightMargin());
|
||||
int height=scry-(w.GetTopMargin()+w.GetBottomMargin());
|
||||
|
||||
int width=scrx-(w.GetRightMargin()+start_px);
|
||||
int height=scry-(w.GetTopMargin()+start_py);
|
||||
|
||||
const wxColor & linecol1=*wxLIGHT_GREY;
|
||||
const wxColor & linecol2=wxDARK_GREY;
|
||||
|
||||
wxString fd=wxT("0");
|
||||
GetTextExtent(fd,x,y);
|
||||
double max_yticksdiv=(y+15.0)/(height); // y+50 for rotated text
|
||||
double max_yticks=1/max_yticksdiv;
|
||||
|
||||
double max_yticks=round(height / (y+15.0)); // plus spacing between lines
|
||||
double yt=1/max_yticks;
|
||||
|
||||
|
||||
double mxy=MAX(maxy,fabs(miny));
|
||||
double mny=MIN(maxy,fabs(miny));
|
||||
if (miny<0) mny=-mny;
|
||||
if (maxy<0) mxy=-mxy;
|
||||
|
||||
double rxy=mxy-mny;
|
||||
double ymult=height/rxy;
|
||||
|
||||
double min_ytick=rxy*yt;
|
||||
|
||||
//if (miny>=0) {
|
||||
//} else {
|
||||
//}
|
||||
/*double max_yticks=1/max_yticksdiv;
|
||||
|
||||
double yy=w.max_y-w.min_y;
|
||||
double ymult=height/yy;
|
||||
double major_ytick=max_yticksdiv*yy;
|
||||
@ -1568,25 +1597,24 @@ void gYAxis::Plot(gGraphWindow &w,float scrx,float scry)
|
||||
min_ytick=60;
|
||||
}
|
||||
if (min_ytick<=0.25)
|
||||
min_ytick=0.25;
|
||||
min_ytick=0.25; */
|
||||
|
||||
int ty,h;
|
||||
glColor3f(0,0,0);
|
||||
glLineWidth(0.25);
|
||||
for (float i=w.min_y; i<w.max_y; i+=min_ytick/2) {
|
||||
ty=(i - w.min_y) * ymult;
|
||||
h=(start_py+height)-ty;
|
||||
glBegin(GL_LINES);
|
||||
glVertex2f(start_px-4, h);
|
||||
glVertex2f(start_px, h);
|
||||
glEnd();
|
||||
}
|
||||
|
||||
const int maxverts=2048;
|
||||
int vertcnt=0;
|
||||
static GLfloat vertarray[maxverts+4];
|
||||
|
||||
glColor4ub(linecol1.Red(),linecol1.Green(),linecol1.Blue(),linecol1.Alpha());
|
||||
for (double i=w.min_y; i<w.max_y; i+=min_ytick/2) {
|
||||
ty=(i - w.min_y) * ymult;
|
||||
h=start_py+ty;
|
||||
if (m_show_minor_lines && (i > w.min_y)) {
|
||||
|
||||
for (double i=miny+(min_ytick/2.0); i<maxy; i+=min_ytick) {
|
||||
ty=(i - miny) * ymult;
|
||||
h=(start_py+height)-ty;
|
||||
vertarray[vertcnt++]=start_px-4;
|
||||
vertarray[vertcnt++]=h;
|
||||
vertarray[vertcnt++]=start_px;
|
||||
vertarray[vertcnt++]=h;
|
||||
if (m_show_minor_lines && (i > miny)) {
|
||||
glBegin(GL_LINES);
|
||||
glVertex2f(start_px+1, h);
|
||||
glVertex2f(start_px+width, h);
|
||||
@ -1594,29 +1622,39 @@ void gYAxis::Plot(gGraphWindow &w,float scrx,float scry)
|
||||
}
|
||||
}
|
||||
|
||||
for (double i=w.min_y; i<=w.max_y; i+=min_ytick) {
|
||||
ty=(i - w.min_y) * ymult;
|
||||
for (double i=miny; i<=maxy; i+=min_ytick) {
|
||||
ty=(i - miny) * ymult;
|
||||
fd=Format(i); // Override this as a function.
|
||||
GetTextExtent(fd,x,y);
|
||||
if (x>labelW) labelW=x;
|
||||
h=start_py+ty;
|
||||
DrawText(fd,start_px-8-x,h - (y / 2));
|
||||
|
||||
glColor3f(0,0,0);
|
||||
glBegin(GL_LINES);
|
||||
glVertex2f(start_px-6, h);
|
||||
glVertex2f(start_px, h);
|
||||
glEnd();
|
||||
|
||||
if (m_show_major_lines && (i > w.min_y)) {
|
||||
glColor4ub(linecol1.Red(),linecol1.Green(),linecol1.Blue(),linecol1.Alpha());
|
||||
vertarray[vertcnt++]=start_px-4;
|
||||
vertarray[vertcnt++]=h;
|
||||
vertarray[vertcnt++]=start_px;
|
||||
vertarray[vertcnt++]=h;
|
||||
|
||||
if (m_show_major_lines && (i > miny)) {
|
||||
glColor4ub(linecol2.Red(),linecol2.Green(),linecol2.Blue(),linecol2.Alpha());
|
||||
glBegin(GL_LINES);
|
||||
glVertex2f(start_px+1, h);
|
||||
glVertex2f(start_px+width, h);
|
||||
glEnd();
|
||||
}
|
||||
}
|
||||
assert(vertcnt<maxverts);
|
||||
|
||||
// Draw the little ticks.
|
||||
glLineWidth(1);
|
||||
glColor3f(0,0,0);
|
||||
glEnableClientState(GL_VERTEX_ARRAY);
|
||||
glVertexPointer(2, GL_FLOAT, 0, vertarray);
|
||||
glDrawArrays(GL_LINES, 0, vertcnt>>1);
|
||||
glDisableClientState(GL_VERTEX_ARRAY); // deactivate vertex arrays after drawing
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
gGraphTitle::gGraphTitle(const wxString & _title,wxOrientation o, const wxColor * color)
|
||||
@ -1978,8 +2016,8 @@ void gLineChart::Plot(gGraphWindow & w,float scrx,float scry)
|
||||
if (!num_points) { // No Data?
|
||||
if (m_report_empty) {
|
||||
wxString msg=_("No Waveform Available");
|
||||
float x,y; //,descent,leading;
|
||||
GetTextExtent(msg,x,y); //,largefont);//,&descent,&leading);
|
||||
float x,y;
|
||||
GetTextExtent(msg,x,y);
|
||||
DrawText(msg,start_px+(width/2.0)-(x/2.0),start_py+(height/2.0)-(y/2.0),0,*wxDARK_GREY); //,largefont);
|
||||
}
|
||||
return;
|
||||
@ -2000,7 +2038,12 @@ void gLineChart::Plot(gGraphWindow & w,float scrx,float scry)
|
||||
glLineWidth (.25);
|
||||
//glEnable(GL_LINE_SMOOTH);
|
||||
//glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
|
||||
glBegin (GL_LINES); //_LOOP);
|
||||
|
||||
const int maxverts=65536; // Resolution dependant..
|
||||
int vertcnt=0;
|
||||
static GLfloat vertarray[maxverts+8];
|
||||
|
||||
//glBegin (GL_LINES); //_LOOP);
|
||||
|
||||
float lastpx,lastpy;
|
||||
float px,py;
|
||||
@ -2014,16 +2057,18 @@ void gLineChart::Plot(gGraphWindow & w,float scrx,float scry)
|
||||
bool first=true;
|
||||
wxPoint2DDouble * point=data->point[n];
|
||||
|
||||
double sr=point[1].m_x-point[0].m_x;// Time distance between points
|
||||
|
||||
// Calculate the number of points to skip when too much data.
|
||||
if (accel) {
|
||||
sr=point[1].m_x-point[0].m_x; // Time distance between points
|
||||
|
||||
sfit=xx/sr;
|
||||
sam=sfit/width;
|
||||
if (sam<=8) { // Don't accelerate if threshold less than this.
|
||||
accel=false;
|
||||
sam=1;
|
||||
} else {
|
||||
sam/=25; // lower this number the more data is skipped over (and the faster things run)
|
||||
sam/=18; // lower this number the more data is skipped over (and the faster things run)
|
||||
if (sam<=1) {
|
||||
sam=1;
|
||||
accel=false;
|
||||
@ -2042,10 +2087,37 @@ void gLineChart::Plot(gGraphWindow & w,float scrx,float scry)
|
||||
int minz=width,maxz=0;
|
||||
|
||||
// Technically shouldn't never ever get fed reverse data.
|
||||
assert(point[0].m_x < point[siz-1].m_x);
|
||||
double x1=point[0].m_x;
|
||||
double x2=point[siz-1].m_x;
|
||||
assert(x1<x2);
|
||||
int idx=0;
|
||||
|
||||
if (minx>x2) continue; // don't even bother this round (segments could be out of order)
|
||||
if (maxx<x1) continue;
|
||||
|
||||
if (minx>x1) {
|
||||
double j=minx-x1; // == starting min of first sample in this segment
|
||||
idx=floor(j/sr);
|
||||
} // else just start from the beginning
|
||||
|
||||
int idxend=0;
|
||||
idxend=floor(xx/sr);
|
||||
idxend/=sam; // devide by number of samples skips
|
||||
int np=(idxend-idx)+sam;
|
||||
|
||||
// better to do it here than in the main loop.
|
||||
if (!accel) {
|
||||
np<<=2;
|
||||
if (m_square_plot) np<<=1; // double it again
|
||||
assert(np<maxverts);
|
||||
} else {
|
||||
np/=sam;
|
||||
np <<=2;
|
||||
assert(np<maxverts);
|
||||
}
|
||||
|
||||
bool firstpx=true;
|
||||
for (int i=0;i<siz;i+=sam) {
|
||||
for (int i=idx;i<siz;i+=sam) {
|
||||
|
||||
if (point[i].m_x < minx) continue; // Skip stuff before the start of our data window
|
||||
|
||||
@ -2065,13 +2137,27 @@ void gLineChart::Plot(gGraphWindow & w,float scrx,float scry)
|
||||
firstpx=false;
|
||||
} else {
|
||||
if (m_square_plot) {
|
||||
glVertex2f(lastpx,lastpy);
|
||||
glVertex2f(start_px+px,lastpy);
|
||||
glVertex2f(start_px+px,lastpy);
|
||||
vertarray[vertcnt++]=lastpx;
|
||||
vertarray[vertcnt++]=lastpy;
|
||||
vertarray[vertcnt++]=start_px+px;
|
||||
vertarray[vertcnt++]=lastpy;
|
||||
vertarray[vertcnt++]=start_px+px;
|
||||
vertarray[vertcnt++]=lastpy;
|
||||
//glVertex2f(lastpx,lastpy);
|
||||
//glVertex2f(start_px+px,lastpy);
|
||||
//glVertex2f(start_px+px,lastpy);
|
||||
} else {
|
||||
glVertex2f(lastpx,lastpy);
|
||||
vertarray[vertcnt++]=lastpx;
|
||||
vertarray[vertcnt++]=lastpy;
|
||||
//glVertex2f(lastpx,lastpy);
|
||||
}
|
||||
glVertex2f(start_px+px,start_py+py);
|
||||
|
||||
vertarray[vertcnt++]=start_px+px;
|
||||
vertarray[vertcnt++]=start_py+py;
|
||||
#if defined(EXTRA_ASSERTS)
|
||||
assert(vertcnt<maxverts);
|
||||
#endif
|
||||
//glVertex2f(start_px+px,start_py+py);
|
||||
}
|
||||
lastpx=start_px+px;
|
||||
lastpy=start_py+py;
|
||||
@ -2103,12 +2189,28 @@ void gLineChart::Plot(gGraphWindow & w,float scrx,float scry)
|
||||
dp=0;
|
||||
// Plot compressed accelerated vertex list
|
||||
for (int i=minz;i<maxz;i++) {
|
||||
glVertex2f(start_px+i+1,start_py+m_drawlist[i].x);
|
||||
glVertex2f(start_px+i+1,start_py+m_drawlist[i].y);
|
||||
vertarray[vertcnt++]=start_px+i+1;
|
||||
vertarray[vertcnt++]=start_py+m_drawlist[i].x;
|
||||
vertarray[vertcnt++]=start_px+i+1;
|
||||
vertarray[vertcnt++]=start_py+m_drawlist[i].y;
|
||||
#if defined(EXTRA_ASSERTS)
|
||||
assert(vertcnt<maxverts);
|
||||
#endif
|
||||
|
||||
//glVertex2f(start_px+i+1,start_py+m_drawlist[i].x);
|
||||
//glVertex2f(start_px+i+1,start_py+m_drawlist[i].y);
|
||||
}
|
||||
}
|
||||
|
||||
glEnableClientState(GL_VERTEX_ARRAY);
|
||||
glVertexPointer(2, GL_FLOAT, 0, vertarray);
|
||||
glDrawArrays(GL_LINES, 0, vertcnt>>1);
|
||||
// deactivate vertex arrays after drawing
|
||||
glDisableClientState(GL_VERTEX_ARRAY);
|
||||
|
||||
|
||||
}
|
||||
glEnd ();
|
||||
//glEnd ();
|
||||
//glDisable(GL_LINE_SMOOTH);
|
||||
glDisable(GL_SCISSOR_TEST);
|
||||
}
|
||||
|
@ -16,14 +16,14 @@ namespace AutoVersion{
|
||||
//Standard Version Type
|
||||
static const long _MAJOR = 0;
|
||||
static const long _MINOR = 7;
|
||||
static const long _BUILD = 6158;
|
||||
static const long _REVISION = 16927;
|
||||
static const long _BUILD = 6244;
|
||||
static const long _REVISION = 17411;
|
||||
|
||||
//Miscellaneous Version Types
|
||||
static const long _BUILDS_COUNT = 6918;
|
||||
#define _RC_FILEVERSION 0,7,6158,16927
|
||||
#define _RC_FILEVERSION_STRING "0, 7, 6158, 16927\0"
|
||||
static const char _FULLVERSION_STRING[] = "0.7.6158.16927";
|
||||
static const long _BUILDS_COUNT = 7100;
|
||||
#define _RC_FILEVERSION 0,7,6244,17411
|
||||
#define _RC_FILEVERSION_STRING "0, 7, 6244, 17411\0"
|
||||
static const char _FULLVERSION_STRING[] = "0.7.6244.17411";
|
||||
|
||||
//These values are to keep track of your versioning state, don't modify them.
|
||||
static const long _BUILD_HISTORY = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user