Kaydet (Commit) b8c442f2 authored tarafından xukai's avatar xukai Kaydeden (comit) Kohei Yoshida

add 50 histories for histroy rendering

Change-Id: I26ff4655d682960ef397be27d5a9fc894502cf8a
Reviewed-on: https://gerrit.libreoffice.org/11579Reviewed-by: 's avatarKohei Yoshida <libreoffice@kohei.us>
Tested-by: 's avatarKohei Yoshida <libreoffice@kohei.us>
üst 93e7ae6f
...@@ -29,7 +29,8 @@ ...@@ -29,7 +29,8 @@
#define DATA_UPDATE_TIME 15 #define DATA_UPDATE_TIME 15
#define FPS_TIME 500 #define FPS_TIME 500
#define DATAUPDATE_FPS_TIME 1000 #define DATAUPDATE_FPS_TIME 1000
#define HISTORY_NUM 5 #define HISTORY_NUM 51
#define COLUMNSIZE 25
#define SHOW_VALUE_COUNT 15 #define SHOW_VALUE_COUNT 15
#define SHOW_SCROLL_TEXT_DISTANCE 1000 #define SHOW_SCROLL_TEXT_DISTANCE 1000
#define FLY_THRESHOLD 20 #define FLY_THRESHOLD 20
...@@ -1067,7 +1068,7 @@ void GL3DBarChart::updateRenderFPS() ...@@ -1067,7 +1068,7 @@ void GL3DBarChart::updateRenderFPS()
osl_getSystemTime(&maFPSRenderStartTime); osl_getSystemTime(&maFPSRenderStartTime);
} }
osl_getSystemTime(&maFPSRenderEndTime); osl_getSystemTime(&maFPSRenderEndTime);
addScreenTextShape(maFPS, glm::vec2(-0.99f, 0.99f), 0.06f, true, addScreenTextShape(maFPS, glm::vec2(-0.99f, 0.99f), 0.07f, true,
glm::vec3(0.0f, 0.0f, 0.0f), glm::vec4(1.0f, 0.0f, 0.0f, 1.0f)); glm::vec3(0.0f, 0.0f, 0.0f), glm::vec4(1.0f, 0.0f, 0.0f, 1.0f));
} }
...@@ -1113,8 +1114,7 @@ void GL3DBarChart::updateDataUpdateFPS() ...@@ -1113,8 +1114,7 @@ void GL3DBarChart::updateDataUpdateFPS()
osl_getSystemTime(&maDataUpdateStartTime); osl_getSystemTime(&maDataUpdateStartTime);
} }
osl_getSystemTime(&maDataUpdateEndTime); osl_getSystemTime(&maDataUpdateEndTime);
addScreenTextShape(maDataUpdateFPS, glm::vec2(-0.99f, 0.93f), 0.06f, true, addScreenTextShape(maDataUpdateFPS, glm::vec2(-0.99f, 0.92f), 0.07f);
glm::vec3(0.0f, 0.0f, 0.0f), glm::vec4(0.0f, 1.0f, 1.0f, 1.0f));
} }
void GL3DBarChart::recordBarHistory(sal_uInt32 &nBarID, float &nVal) void GL3DBarChart::recordBarHistory(sal_uInt32 &nBarID, float &nVal)
...@@ -1130,20 +1130,29 @@ void GL3DBarChart::updateClickEvent() ...@@ -1130,20 +1130,29 @@ void GL3DBarChart::updateClickEvent()
if (maRenderEvent == EVENT_CLICK || maRenderEvent == EVENT_AUTO_FLY || maRenderEvent == EVENT_SHOW_SELECT) if (maRenderEvent == EVENT_CLICK || maRenderEvent == EVENT_AUTO_FLY || maRenderEvent == EVENT_SHOW_SELECT)
{ {
std::list<float>& aList = maBarHistory[mnSelectBarId]; std::list<float>& aList = maBarHistory[mnSelectBarId];
sal_uInt32 aIdex = 0; sal_uInt32 nIdex = 0;
OUString aTitle; OUString aTitle;
OUString aBarValue; OUString aBarValue;
float nXCoordStart;
float nYCoordStart;
//write title //write title
if (aList.size() > 1) if (aList.size() > 1)
{ {
aTitle = OUString("Time "); aTitle = OUString("Time ");
addScreenTextShape(aTitle, glm::vec2(0.8f, 0.99f), 0.1f, false); addScreenTextShape(aTitle, glm::vec2(0.875f, 0.99f), 0.07f, false);
aTitle = OUString(" Value"); aTitle = OUString(" Value");
addScreenTextShape(aTitle, glm::vec2(0.8f, 0.99f), 0.1f); addScreenTextShape(aTitle, glm::vec2(0.875f, 0.99f), 0.07f);
}
if (aList.size() > COLUMNSIZE)
{
aTitle = OUString("Time ");
addScreenTextShape(aTitle, glm::vec2(0.55f, 0.99f), 0.07f, false);
aTitle = OUString(" Value");
addScreenTextShape(aTitle, glm::vec2(0.55f, 0.99f), 0.07f);
} }
for (std::list<float>::iterator it = aList.begin();it != aList.end();++it) for (std::list<float>::iterator it = aList.begin();it != aList.end();++it)
{ {
if (aIdex + 1 == aList.size()) if (nIdex + 1 == aList.size())
{ {
aBarValue = OUString("Value: ") + OUString::number(*it); aBarValue = OUString("Value: ") + OUString::number(*it);
maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), *mpTextCache, aBarValue, glm::vec4(0.0f, 0.0f, 1.0f, 1.0f), CALC_POS_EVENT_ID)); maScreenTextShapes.push_back(new opengl3D::ScreenText(mpRenderer.get(), *mpTextCache, aBarValue, glm::vec4(0.0f, 0.0f, 1.0f, 1.0f), CALC_POS_EVENT_ID));
...@@ -1159,20 +1168,26 @@ void GL3DBarChart::updateClickEvent() ...@@ -1159,20 +1168,26 @@ void GL3DBarChart::updateClickEvent()
} }
else else
{ {
aTitle = OUString("[Time:") + OUString::number((maHistoryCounter - aList.size() + aIdex)) + "]: "; aTitle = OUString("[Time:") + OUString::number((maHistoryCounter - aList.size() + nIdex)) + "]: ";
if (aIdex == 0) if (nIdex == 0)
{ {
aTitle = OUString("Most Recent") + aTitle; aTitle = OUString("Most Recent") + aTitle;
} }
else if ((aIdex + 2) == aList.size()) if (aList.size() < COLUMNSIZE)
{
nXCoordStart = 0.875f;
nYCoordStart = (nIdex + 1) * 0.07f;
}
else
{ {
aTitle = OUString("Least Recent") + aTitle; nXCoordStart = nIdex < COLUMNSIZE ? 0.55f : 0.875f;
nYCoordStart = nIdex < COLUMNSIZE ? (nIdex + 1) * 0.07f : (nIdex - 24) * 0.07f;
} }
addScreenTextShape(aTitle, glm::vec2(0.8f, 0.99f - ((aIdex + 1) * 0.1f)), 0.1f, false); addScreenTextShape(aTitle, glm::vec2(nXCoordStart, 0.99f - nYCoordStart), 0.07f, false);
aBarValue = OUString::number(*it); aBarValue = OUString::number(*it);
addScreenTextShape(aBarValue, glm::vec2(0.8f, 0.99f - ((aIdex + 1) * 0.1f)), 0.1f); addScreenTextShape(aBarValue, glm::vec2(nXCoordStart, 0.99f - nYCoordStart), 0.07f);
} }
aIdex++; nIdex++;
} }
} }
} }
......
...@@ -104,7 +104,7 @@ private: ...@@ -104,7 +104,7 @@ private:
int calcTimeInterval(TimeValue &startTime, TimeValue &endTime); int calcTimeInterval(TimeValue &startTime, TimeValue &endTime);
void addScreenTextShape(OUString &nStr, glm::vec2 rLeftOrRightTop, float nTextHeight, bool bLeftTopFlag = true, void addScreenTextShape(OUString &nStr, glm::vec2 rLeftOrRightTop, float nTextHeight, bool bLeftTopFlag = true,
const glm::vec3& rPos = glm::vec3(0.0f, 0.0f, 0.0f), const glm::vec3& rPos = glm::vec3(0.0f, 0.0f, 0.0f),
const glm::vec4& rColor = glm::vec4(0.0f, 0.0f, 1.0f, 1.0f), const glm::vec4& rColor = glm::vec4(0.0f, 1.0f, 1.0f, 1.0f),
sal_uInt32 nEvent = 0); sal_uInt32 nEvent = 0);
void recordBarHistory(sal_uInt32 &nBarID, float &nVal); void recordBarHistory(sal_uInt32 &nBarID, float &nVal);
void updateClickEvent(); void updateClickEvent();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment