Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
155f0b84
Kaydet (Commit)
155f0b84
authored
Agu 27, 2014
tarafından
weigao
Kaydeden (comit)
Markus Mohrhard
Agu 27, 2014
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
showing bar info until fly back
Change-Id: Idc13f652d359baf2c91758ee1efd5b908b4b9483
üst
42d5cfcf
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
35 additions
and
23 deletions
+35
-23
GL3DBarChart.cxx
chart2/source/view/charttypes/GL3DBarChart.cxx
+31
-21
GL3DBarChart.hxx
chart2/source/view/inc/GL3DBarChart.hxx
+4
-2
No files found.
chart2/source/view/charttypes/GL3DBarChart.cxx
Dosyayı görüntüle @
155f0b84
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
#define SHAPE_START_ID 10
#define SHAPE_START_ID 10
#define DATA_UPDATE_TIME 15
#define DATA_UPDATE_TIME 15
#define FPS_TIME 500
#define FPS_TIME 500
#define DATAUPDATE_FPS_TIME
5
00
#define DATAUPDATE_FPS_TIME
10
00
#define HISTORY_NUM 5
#define HISTORY_NUM 5
#define SHOW_VALUE_COUNT 15
#define SHOW_VALUE_COUNT 15
#define SHOW_SCROLL_TEXT_DISTANCE 1000
#define SHOW_SCROLL_TEXT_DISTANCE 1000
...
@@ -241,14 +241,16 @@ void RenderBenchMarkThread::MoveCamera()
...
@@ -241,14 +241,16 @@ void RenderBenchMarkThread::MoveCamera()
mbAutoFlyExecuting
=
false
;
mbAutoFlyExecuting
=
false
;
if
((
mpChart
->
maRenderEvent
==
EVENT_CLICK
)
||
(
mpChart
->
maRenderEvent
==
EVENT_AUTO_FLY
))
if
((
mpChart
->
maRenderEvent
==
EVENT_CLICK
)
||
(
mpChart
->
maRenderEvent
==
EVENT_AUTO_FLY
))
{
{
mpChart
->
mpRenderer
->
EndClick
();
mbNeedFlyBack
=
true
;
mbNeedFlyBack
=
true
;
osl_getSystemTime
(
&
maClickFlyBackStartTime
);
osl_getSystemTime
(
&
maClickFlyBackStartTime
);
osl_getSystemTime
(
&
maClickFlyBackEndTime
);
osl_getSystemTime
(
&
maClickFlyBackEndTime
);
mpChart
->
maRenderEvent
=
EVENT_SHOW_SELECT
;
}
}
else
else
{
mbNeedFlyBack
=
false
;
mbNeedFlyBack
=
false
;
mpChart
->
maRenderEvent
=
EVENT_NONE
;
mpChart
->
maRenderEvent
=
EVENT_NONE
;
}
}
}
}
}
...
@@ -278,19 +280,20 @@ void RenderBenchMarkThread::MoveToBar()
...
@@ -278,19 +280,20 @@ void RenderBenchMarkThread::MoveToBar()
{
{
if
(
!
mbExecuting
)
if
(
!
mbExecuting
)
{
{
mpChart
->
mpRenderer
->
EndClick
();
mpChart
->
mpRenderer
->
SetPickingMode
(
true
);
mpChart
->
mpRenderer
->
SetPickingMode
(
true
);
mpChart
->
mpCamera
->
render
();
mpChart
->
mpCamera
->
render
();
mpChart
->
mpRenderer
->
ProcessUnrenderedShape
(
mpChart
->
mbNeedsNewRender
);
mpChart
->
mpRenderer
->
ProcessUnrenderedShape
(
mpChart
->
mbNeedsNewRender
);
mpChart
->
mSelectBarId
=
mpChart
->
mpRenderer
->
GetPixelColorFromPoint
(
mpChart
->
maClickPos
.
X
(),
mpChart
->
maClickPos
.
Y
());
mpChart
->
m
n
SelectBarId
=
mpChart
->
mpRenderer
->
GetPixelColorFromPoint
(
mpChart
->
maClickPos
.
X
(),
mpChart
->
maClickPos
.
Y
());
mpChart
->
mpRenderer
->
SetPickingMode
(
false
);
mpChart
->
mpRenderer
->
SetPickingMode
(
false
);
std
::
map
<
sal_uInt32
,
const
GL3DBarChart
::
BarInformation
>::
const_iterator
itr
=
mpChart
->
maBarMap
.
find
(
mpChart
->
mSelectBarId
);
std
::
map
<
sal_uInt32
,
const
GL3DBarChart
::
BarInformation
>::
const_iterator
itr
=
mpChart
->
maBarMap
.
find
(
mpChart
->
m
n
SelectBarId
);
if
(
itr
==
mpChart
->
maBarMap
.
end
())
if
(
itr
==
mpChart
->
maBarMap
.
end
())
{
{
mpChart
->
maRenderEvent
=
EVENT_NONE
;
mpChart
->
mnSelectBarId
=
mpChart
->
mnPreSelectBarId
;
mpChart
->
maRenderEvent
=
mpChart
->
maPreRenderEvent
;
mpChart
->
maClickCond
.
set
();
mpChart
->
maClickCond
.
set
();
return
;
return
;
}
}
mpChart
->
mpRenderer
->
EndClick
();
const
GL3DBarChart
::
BarInformation
&
rBarInfo
=
itr
->
second
;
const
GL3DBarChart
::
BarInformation
&
rBarInfo
=
itr
->
second
;
mnStep
=
0
;
mnStep
=
0
;
mnStepsTotal
=
STEPS
;
mnStepsTotal
=
STEPS
;
...
@@ -304,7 +307,7 @@ void RenderBenchMarkThread::MoveToBar()
...
@@ -304,7 +307,7 @@ void RenderBenchMarkThread::MoveToBar()
maStepDirection
=
(
maTargetDirection
-
mpChart
->
maCameraDirection
)
/
((
float
)
mnStepsTotal
);
maStepDirection
=
(
maTargetDirection
-
mpChart
->
maCameraDirection
)
/
((
float
)
mnStepsTotal
);
mpChart
->
maClickCond
.
set
();
mpChart
->
maClickCond
.
set
();
mbExecuting
=
true
;
mbExecuting
=
true
;
mpChart
->
mpRenderer
->
StartClick
(
mpChart
->
mSelectBarId
);
mpChart
->
mpRenderer
->
StartClick
(
mpChart
->
m
n
SelectBarId
);
}
}
MoveCamera
();
MoveCamera
();
}
}
...
@@ -314,7 +317,7 @@ void RenderBenchMarkThread::AutoMoveToBar()
...
@@ -314,7 +317,7 @@ void RenderBenchMarkThread::AutoMoveToBar()
if
(
!
mbAutoFlyExecuting
)
if
(
!
mbAutoFlyExecuting
)
{
{
mpChart
->
mpRenderer
->
EndClick
();
mpChart
->
mpRenderer
->
EndClick
();
std
::
map
<
sal_uInt32
,
const
GL3DBarChart
::
BarInformation
>::
const_iterator
itr
=
mpChart
->
maBarMap
.
find
(
mpChart
->
mn
AutoFlyBarID
);
std
::
map
<
sal_uInt32
,
const
GL3DBarChart
::
BarInformation
>::
const_iterator
itr
=
mpChart
->
maBarMap
.
find
(
mpChart
->
mn
SelectBarId
);
if
(
itr
==
mpChart
->
maBarMap
.
end
())
if
(
itr
==
mpChart
->
maBarMap
.
end
())
{
{
mpChart
->
maRenderEvent
=
EVENT_NONE
;
mpChart
->
maRenderEvent
=
EVENT_NONE
;
...
@@ -331,7 +334,7 @@ void RenderBenchMarkThread::AutoMoveToBar()
...
@@ -331,7 +334,7 @@ void RenderBenchMarkThread::AutoMoveToBar()
maTargetDirection
.
x
+=
BAR_SIZE_X
/
2.0
f
;
maTargetDirection
.
x
+=
BAR_SIZE_X
/
2.0
f
;
maTargetDirection
.
y
+=
BAR_SIZE_Y
/
2.0
f
;
maTargetDirection
.
y
+=
BAR_SIZE_Y
/
2.0
f
;
maStepDirection
=
(
maTargetDirection
-
mpChart
->
maCameraDirection
)
/
((
float
)
mnStepsTotal
);
maStepDirection
=
(
maTargetDirection
-
mpChart
->
maCameraDirection
)
/
((
float
)
mnStepsTotal
);
mpChart
->
mpRenderer
->
StartClick
(
mpChart
->
mn
AutoFlyBarID
);
mpChart
->
mpRenderer
->
StartClick
(
mpChart
->
mn
SelectBarId
);
mbAutoFlyExecuting
=
true
;
mbAutoFlyExecuting
=
true
;
}
}
MoveCamera
();
MoveCamera
();
...
@@ -450,7 +453,9 @@ GL3DBarChart::GL3DBarChart(
...
@@ -450,7 +453,9 @@ GL3DBarChart::GL3DBarChart(
mbCameraInit
(
false
),
mbCameraInit
(
false
),
mbRenderDie
(
false
),
mbRenderDie
(
false
),
maRenderEvent
(
EVENT_NONE
),
maRenderEvent
(
EVENT_NONE
),
mSelectBarId
(
0
),
maPreRenderEvent
(
EVENT_NONE
),
mnSelectBarId
(
0
),
mnPreSelectBarId
(
0
),
miScrollRate
(
0
),
miScrollRate
(
0
),
mbScrollFlg
(
false
),
mbScrollFlg
(
false
),
mbScreenTextNewRender
(
false
),
mbScreenTextNewRender
(
false
),
...
@@ -459,7 +464,6 @@ GL3DBarChart::GL3DBarChart(
...
@@ -459,7 +464,6 @@ GL3DBarChart::GL3DBarChart(
miFrameCount
(
0
),
miFrameCount
(
0
),
miDataUpdateCounter
(
0
),
miDataUpdateCounter
(
0
),
mnColorRate
(
0
),
mnColorRate
(
0
),
mnAutoFlyBarID
(
0
),
mbBenchMarkMode
(
false
),
mbBenchMarkMode
(
false
),
maHistoryCounter
(
0
)
maHistoryCounter
(
0
)
{
{
...
@@ -788,7 +792,8 @@ void GL3DBarChart::moveToDefault()
...
@@ -788,7 +792,8 @@ void GL3DBarChart::moveToDefault()
if
(
mbBenchMarkMode
)
if
(
mbBenchMarkMode
)
{
{
// add correct handling here!!
// add correct handling here!!
if
((
maRenderEvent
!=
EVENT_NONE
)
&&
(
maRenderEvent
!=
EVENT_SHOW_SCROLL
)
&&
(
maRenderEvent
!=
EVENT_AUTO_FLY
))
if
((
maRenderEvent
!=
EVENT_NONE
)
&&
(
maRenderEvent
!=
EVENT_SHOW_SCROLL
)
&&
(
maRenderEvent
!=
EVENT_AUTO_FLY
)
&&
(
maRenderEvent
!=
EVENT_SHOW_SELECT
))
return
;
return
;
{
{
...
@@ -829,12 +834,15 @@ void GL3DBarChart::clickedAt(const Point& rPos, sal_uInt16 nButtons)
...
@@ -829,12 +834,15 @@ void GL3DBarChart::clickedAt(const Point& rPos, sal_uInt16 nButtons)
if
(
mbBenchMarkMode
)
if
(
mbBenchMarkMode
)
{
{
// add correct handling here !!
// add correct handling here !!
if
((
maRenderEvent
!=
EVENT_NONE
)
&&
(
maRenderEvent
!=
EVENT_SHOW_SCROLL
)
&&
(
maRenderEvent
!=
EVENT_AUTO_FLY
))
if
((
maRenderEvent
!=
EVENT_NONE
)
&&
(
maRenderEvent
!=
EVENT_SHOW_SCROLL
)
&&
(
maRenderEvent
!=
EVENT_AUTO_FLY
)
&&
(
maRenderEvent
!=
EVENT_SHOW_SELECT
))
return
;
return
;
{
{
osl
::
MutexGuard
aGuard
(
maMutex
);
osl
::
MutexGuard
aGuard
(
maMutex
);
maClickPos
=
rPos
;
maClickPos
=
rPos
;
mnPreSelectBarId
=
mnSelectBarId
;
maPreRenderEvent
=
maRenderEvent
;
maRenderEvent
=
EVENT_CLICK
;
maRenderEvent
=
EVENT_CLICK
;
maClickCond
.
reset
();
maClickCond
.
reset
();
}
}
...
@@ -900,7 +908,8 @@ void GL3DBarChart::mouseDragMove(const Point& rStartPos, const Point& rEndPos, s
...
@@ -900,7 +908,8 @@ void GL3DBarChart::mouseDragMove(const Point& rStartPos, const Point& rEndPos, s
{
{
long
nDirection
=
rEndPos
.
X
()
-
rStartPos
.
X
();
long
nDirection
=
rEndPos
.
X
()
-
rStartPos
.
X
();
osl
::
MutexGuard
aGuard
(
maMutex
);
osl
::
MutexGuard
aGuard
(
maMutex
);
if
((
maRenderEvent
==
EVENT_NONE
)
||
(
maRenderEvent
==
EVENT_SHOW_SCROLL
)
||
(
maRenderEvent
==
EVENT_AUTO_FLY
))
if
((
maRenderEvent
==
EVENT_NONE
)
||
(
maRenderEvent
==
EVENT_SHOW_SCROLL
)
||
(
maRenderEvent
==
EVENT_AUTO_FLY
)
||
(
maRenderEvent
==
EVENT_SHOW_SELECT
))
maRenderEvent
=
nDirection
>
0
?
EVENT_DRAG_RIGHT
:
EVENT_DRAG_LEFT
;
maRenderEvent
=
nDirection
>
0
?
EVENT_DRAG_RIGHT
:
EVENT_DRAG_LEFT
;
if
(
nDirection
<
0
)
if
(
nDirection
<
0
)
{
{
...
@@ -975,7 +984,8 @@ void GL3DBarChart::scroll(long nDelta)
...
@@ -975,7 +984,8 @@ void GL3DBarChart::scroll(long nDelta)
{
{
{
{
osl
::
MutexGuard
aGuard
(
maMutex
);
osl
::
MutexGuard
aGuard
(
maMutex
);
if
((
maRenderEvent
!=
EVENT_NONE
)
&&
(
maRenderEvent
!=
EVENT_SHOW_SCROLL
)
&&
(
maRenderEvent
!=
EVENT_AUTO_FLY
))
if
((
maRenderEvent
!=
EVENT_NONE
)
&&
(
maRenderEvent
!=
EVENT_SHOW_SCROLL
)
&&
(
maRenderEvent
!=
EVENT_AUTO_FLY
)
&&
(
maRenderEvent
==
EVENT_SHOW_SELECT
))
return
;
return
;
glm
::
vec3
maDir
=
glm
::
normalize
(
maCameraPosition
-
maCameraDirection
);
glm
::
vec3
maDir
=
glm
::
normalize
(
maCameraPosition
-
maCameraDirection
);
maCameraPosition
-=
(
float
((
nDelta
/
10
))
*
maDir
);
maCameraPosition
-=
(
float
((
nDelta
/
10
))
*
maDir
);
...
@@ -1082,10 +1092,9 @@ void GL3DBarChart::recordBarHistory(sal_uInt32 &nBarID, float &nVal)
...
@@ -1082,10 +1092,9 @@ void GL3DBarChart::recordBarHistory(sal_uInt32 &nBarID, float &nVal)
void
GL3DBarChart
::
updateClickEvent
()
void
GL3DBarChart
::
updateClickEvent
()
{
{
if
(
maRenderEvent
==
EVENT_CLICK
||
maRenderEvent
==
EVENT_AUTO_FLY
)
if
(
maRenderEvent
==
EVENT_CLICK
||
maRenderEvent
==
EVENT_AUTO_FLY
||
maRenderEvent
==
EVENT_SHOW_SELECT
)
{
{
sal_uInt32
nBarId
=
maRenderEvent
==
EVENT_CLICK
?
mSelectBarId
:
mnAutoFlyBarID
;
std
::
list
<
float
>&
aList
=
maBarHistory
[
mnSelectBarId
];
std
::
list
<
float
>&
aList
=
maBarHistory
[
nBarId
];
sal_uInt32
aIdex
=
0
;
sal_uInt32
aIdex
=
0
;
OUString
aTitle
;
OUString
aTitle
;
OUString
aBarValue
;
OUString
aBarValue
;
...
@@ -1105,7 +1114,7 @@ void GL3DBarChart::updateClickEvent()
...
@@ -1105,7 +1114,7 @@ void GL3DBarChart::updateClickEvent()
maScreenTextShapes
.
push_back
(
new
opengl3D
::
ScreenText
(
mpRenderer
.
get
(),
*
mpTextCache
,
aBarValue
,
glm
::
vec4
(
0.0
f
,
0.0
f
,
1.0
f
,
1.0
f
),
CALC_POS_EVENT_ID
));
maScreenTextShapes
.
push_back
(
new
opengl3D
::
ScreenText
(
mpRenderer
.
get
(),
*
mpTextCache
,
aBarValue
,
glm
::
vec4
(
0.0
f
,
0.0
f
,
1.0
f
,
1.0
f
),
CALC_POS_EVENT_ID
));
const
opengl3D
::
TextCacheItem
&
rTextCache
=
mpTextCache
->
getText
(
aBarValue
);
const
opengl3D
::
TextCacheItem
&
rTextCache
=
mpTextCache
->
getText
(
aBarValue
);
float
nRectWidth
=
(
float
)
rTextCache
.
maSize
.
Width
()
/
(
float
)
rTextCache
.
maSize
.
Height
()
*
0.03
;
float
nRectWidth
=
(
float
)
rTextCache
.
maSize
.
Width
()
/
(
float
)
rTextCache
.
maSize
.
Height
()
*
0.03
;
std
::
map
<
sal_uInt32
,
const
BarInformation
>::
const_iterator
itr
=
maBarMap
.
find
(
n
BarId
);
std
::
map
<
sal_uInt32
,
const
BarInformation
>::
const_iterator
itr
=
maBarMap
.
find
(
mnSelect
BarId
);
const
BarInformation
&
rBarInfo
=
itr
->
second
;
const
BarInformation
&
rBarInfo
=
itr
->
second
;
glm
::
vec3
aTextPos
=
glm
::
vec3
(
rBarInfo
.
maPos
.
x
+
BAR_SIZE_X
/
2.0
f
,
glm
::
vec3
aTextPos
=
glm
::
vec3
(
rBarInfo
.
maPos
.
x
+
BAR_SIZE_X
/
2.0
f
,
rBarInfo
.
maPos
.
y
+
BAR_SIZE_Y
/
2.0
f
,
rBarInfo
.
maPos
.
y
+
BAR_SIZE_Y
/
2.0
f
,
...
@@ -1282,7 +1291,8 @@ void GL3DBarChart::processAutoFly(sal_uInt32 nId, sal_uInt32 nColor)
...
@@ -1282,7 +1291,8 @@ void GL3DBarChart::processAutoFly(sal_uInt32 nId, sal_uInt32 nColor)
if
(
nColorRate
>=
FLY_THRESHOLD
)
if
(
nColorRate
>=
FLY_THRESHOLD
)
{
{
maRenderEvent
=
EVENT_AUTO_FLY
;
maRenderEvent
=
EVENT_AUTO_FLY
;
mnAutoFlyBarID
=
nColorRate
>
mnColorRate
?
nId
:
mnAutoFlyBarID
;
mnSelectBarId
=
nColorRate
>
mnColorRate
?
nId
:
mnSelectBarId
;
mnPreSelectBarId
=
mnSelectBarId
;
mnColorRate
=
nColorRate
>
mnColorRate
?
nColorRate
:
mnColorRate
;
mnColorRate
=
nColorRate
>
mnColorRate
?
nColorRate
:
mnColorRate
;
}
}
}
}
...
...
chart2/source/view/inc/GL3DBarChart.hxx
Dosyayı görüntüle @
155f0b84
...
@@ -47,6 +47,7 @@ enum RenderEventType
...
@@ -47,6 +47,7 @@ enum RenderEventType
EVENT_DRAG_RIGHT
,
EVENT_DRAG_RIGHT
,
EVENT_SCROLL
,
EVENT_SCROLL
,
EVENT_SHOW_SCROLL
,
EVENT_SHOW_SCROLL
,
EVENT_SHOW_SELECT
,
EVENT_AUTO_FLY
,
EVENT_AUTO_FLY
,
EVENT_DIE
EVENT_DIE
};
};
...
@@ -154,7 +155,9 @@ private:
...
@@ -154,7 +155,9 @@ private:
bool
mbRenderDie
;
bool
mbRenderDie
;
::
osl
::
Condition
maClickCond
;
::
osl
::
Condition
maClickCond
;
RenderEventType
maRenderEvent
;
RenderEventType
maRenderEvent
;
sal_uInt32
mSelectBarId
;
RenderEventType
maPreRenderEvent
;
sal_uInt32
mnSelectBarId
;
sal_uInt32
mnPreSelectBarId
;
Point
maClickPos
;
Point
maClickPos
;
sal_uInt32
miScrollRate
;
sal_uInt32
miScrollRate
;
bool
mbScrollFlg
;
bool
mbScrollFlg
;
...
@@ -174,7 +177,6 @@ private:
...
@@ -174,7 +177,6 @@ private:
std
::
map
<
sal_uInt32
,
float
>
maDistanceMap
;
std
::
map
<
sal_uInt32
,
float
>
maDistanceMap
;
std
::
map
<
sal_uInt32
,
sal_uInt32
>
maBarColorMap
;
std
::
map
<
sal_uInt32
,
sal_uInt32
>
maBarColorMap
;
int
mnColorRate
;
int
mnColorRate
;
sal_uInt32
mnAutoFlyBarID
;
bool
mbBenchMarkMode
;
bool
mbBenchMarkMode
;
sal_uInt32
maHistoryCounter
;
sal_uInt32
maHistoryCounter
;
};
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment