[Libreoffice-commits] core.git: Branch 'feature/chart-opengl2' - 2 commits - chart2/source sfx2/source
chart2/source/view/main/DummyXShape.cxx |2 - chart2/source/view/main/OpenGLRender.cxx |2 - sfx2/source/appl/shutdownicon.cxx| 42 +++ 3 files changed, 23 insertions(+), 23 deletions(-) New commits: commit fce26e7cf30feb714c03b13ba7feae2394c76651 Author: yangzhang yangzh...@multicorewareinc.com Date: Wed Jan 15 16:30:27 2014 +0800 Fix the error of shutdownicon.cxx. Change-Id: I91d62edd72e884a0139d3aca46aff0db88b202be Signed-off-by: shaochunfang shaoc...@multicorewareinc.com diff --git a/sfx2/source/appl/shutdownicon.cxx b/sfx2/source/appl/shutdownicon.cxx index ea865f4..2987d39 100644 --- a/sfx2/source/appl/shutdownicon.cxx +++ b/sfx2/source/appl/shutdownicon.cxx @@ -213,9 +213,9 @@ public: class IdleTerminate : Timer { -Reference XDesktop2 m_xDesktop; +::com::sun::star::uno::Reference XDesktop2 m_xDesktop; public: -IdleTerminate (Reference XDesktop2 xDesktop) +IdleTerminate (::com::sun::star::uno::Reference XDesktop2 xDesktop) { m_xDesktop = xDesktop; Start(); @@ -257,7 +257,7 @@ void ShutdownIcon::deInitSystray() } -ShutdownIcon::ShutdownIcon( const Reference XComponentContext rxContext ) : +ShutdownIcon::ShutdownIcon( const ::com::sun::star::uno::Reference XComponentContext rxContext ) : ShutdownIconServiceBase( m_aMutex ), m_bVeto ( false ), m_bListenForTermination ( false ), @@ -285,16 +285,16 @@ void ShutdownIcon::OpenURL( const OUString aURL, const OUString rTarget, const { if ( getInstance() getInstance()-m_xDesktop.is() ) { -Reference XDispatchProvider xDispatchProvider( getInstance()-m_xDesktop, UNO_QUERY ); +::com::sun::star::uno::Reference XDispatchProvider xDispatchProvider( getInstance()-m_xDesktop, UNO_QUERY ); if ( xDispatchProvider.is() ) { com::sun::star::util::URL aDispatchURL; aDispatchURL.Complete = aURL; -Reference util::XURLTransformer xURLTransformer( util::URLTransformer::create( ::comphelper::getProcessComponentContext() ) ); +::com::sun::star::uno::Reference util::XURLTransformer xURLTransformer( util::URLTransformer::create( ::comphelper::getProcessComponentContext() ) ); try { -Reference com::sun::star::frame::XDispatch xDispatch; +::com::sun::star::uno::Reference com::sun::star::frame::XDispatch xDispatch; xURLTransformer-parseStrict( aDispatchURL ); xDispatch = xDispatchProvider-queryDispatch( aDispatchURL, rTarget, 0 ); @@ -330,18 +330,18 @@ void ShutdownIcon::FromTemplate() { if ( getInstance() getInstance()-m_xDesktop.is() ) { -Reference ::com::sun::star::frame::XFramesSupplier xDesktop ( getInstance()-m_xDesktop, UNO_QUERY); -Reference ::com::sun::star::frame::XFrame xFrame( xDesktop-getActiveFrame() ); +::com::sun::star::uno::Reference ::com::sun::star::frame::XFramesSupplier xDesktop ( getInstance()-m_xDesktop, UNO_QUERY); +::com::sun::star::uno::Reference ::com::sun::star::frame::XFrame xFrame( xDesktop-getActiveFrame() ); if ( !xFrame.is() ) -xFrame = Reference ::com::sun::star::frame::XFrame ( xDesktop, UNO_QUERY ); +xFrame = ::com::sun::star::uno::Reference ::com::sun::star::frame::XFrame ( xDesktop, UNO_QUERY ); URL aTargetURL; aTargetURL.Complete = slot:5500; -Reference util::XURLTransformer xTrans( util::URLTransformer::create( ::comphelper::getProcessComponentContext() ) ); +::com::sun::star::uno::Reference util::XURLTransformer xTrans( util::URLTransformer::create( ::comphelper::getProcessComponentContext() ) ); xTrans-parseStrict( aTargetURL ); -Reference ::com::sun::star::frame::XDispatchProvider xProv( xFrame, UNO_QUERY ); -Reference ::com::sun::star::frame::XDispatch xDisp; +::com::sun::star::uno::Reference ::com::sun::star::frame::XDispatchProvider xProv( xFrame, UNO_QUERY ); +::com::sun::star::uno::Reference ::com::sun::star::frame::XDispatch xDisp; if ( xProv.is() ) { if (aTargetURL.Protocol == slot:) @@ -355,7 +355,7 @@ void ShutdownIcon::FromTemplate() PropertyValue* pArg = aArgs.getArray(); pArg[0].Name = Referer; pArg[0].Value = OUString(private:user); -Reference ::com::sun::star::frame::XNotifyingDispatch xNotifyer( xDisp, UNO_QUERY ); +::com::sun::star::uno::Reference ::com::sun::star::frame::XNotifyingDispatch xNotifyer( xDisp, UNO_QUERY ); if ( xNotifyer.is() ) { EnterModalMode(); @@ -424,7 +424,7 @@ IMPL_STATIC_LINK( ShutdownIcon, DialogClosedHdl_Impl, FileDialogHelper*, EMPTYAR // use constructor for filling up filters automatically! if ( ERRCODE_NONE ==
[Libreoffice-commits] core.git: Branch 'feature/chart-opengl2' - 2 commits - chart2/source
chart2/source/view/main/OpenGLRender.cxx | 21 - chart2/source/view/main/OpenGLRender.hxx |8 2 files changed, 4 insertions(+), 25 deletions(-) New commits: commit 473f9ccf6871ac95ef541845f445c5321893bd47 Author: Markus Mohrhard markus.mohrh...@collabora.co.uk Date: Mon Jan 13 00:59:59 2014 +0100 remove unused variables Change-Id: I52be4e3a6539392bbe030e1a77fcbb61960eeab8 diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx index 70e8ac3..33d1754 100644 --- a/chart2/source/view/main/OpenGLRender.cxx +++ b/chart2/source/view/main/OpenGLRender.cxx @@ -974,16 +974,6 @@ void OpenGLRender::SetHeight(int height) m_Projection = glm::ortho(0.f, float(m_iWidth), 0.f, float(m_iHeight), -4.f, 3.f); } -int OpenGLRender::GetWidth() -{ -return m_iWidth; -} - -int OpenGLRender::GetHeight() -{ -return m_iHeight; -} - int OpenGLRender::CreateBMPHeader(sal_uInt8 *bmpHeader, int xsize, int ysize) { unsigned char header[BMP_HEADER_LEN] = { diff --git a/chart2/source/view/main/OpenGLRender.hxx b/chart2/source/view/main/OpenGLRender.hxx index 48eae6c..4e7de03 100644 --- a/chart2/source/view/main/OpenGLRender.hxx +++ b/chart2/source/view/main/OpenGLRender.hxx @@ -144,8 +144,6 @@ public: int MoveModelf(PosVecf3 trans, PosVecf3 angle, PosVecf3 scale); void SetWidth(int width); void SetHeight(int height); -int GetWidth(); -int GetHeight(); void Release(); int CreateBMPHeader(sal_uInt8 *bmpHeader, int xsize, int ysize); int CreateBMPHeaderRGBA(sal_uInt8 *bmpHeader, int xsize, int ysize); commit 473bd0ecc5f8f7cbc96cc365165240bfa4054d69 Author: Markus Mohrhard markus.mohrh...@collabora.co.uk Date: Mon Jan 13 00:58:17 2014 +0100 make a few variables local, no need for member variables Change-Id: I2559756acf655f73c782db023b7502f969346171 diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx index ceaa07e..70e8ac3 100644 --- a/chart2/source/view/main/OpenGLRender.cxx +++ b/chart2/source/view/main/OpenGLRender.cxx @@ -865,10 +865,10 @@ int OpenGLRender::CreateRenderObj(int width, int height) int OpenGLRender::MoveModelf(PosVecf3 trans, PosVecf3 angle, PosVecf3 scale) { -m_TranslationMatrix = glm::translate(glm::vec3(trans.x, trans.y, trans.z)); -m_ScaleMatrix = glm::scale(glm::vec3(scale.x, scale.y, scale.z)); -m_RotationMatrix = glm::eulerAngleYXZ(angle.y, angle.x, angle.z); -m_Model = m_TranslationMatrix * m_RotationMatrix * m_ScaleMatrix; +glm::mat4 aTranslationMatrix = glm::translate(glm::vec3(trans.x, trans.y, trans.z)); +glm::mat4 aScaleMatrix = glm::scale(glm::vec3(scale.x, scale.y, scale.z)); +glm::mat4 aRotationMatrix = glm::eulerAngleYXZ(angle.y, angle.x, angle.z); +m_Model = aTranslationMatrix * aRotationMatrix * aScaleMatrix; return 0; } @@ -928,9 +928,6 @@ void OpenGLRender::Release() OpenGLRender::OpenGLRender(uno::Reference drawing::XShape xTarget): m_Model(glm::mat4(1.0f)), -m_TranslationMatrix(glm::translate(m_Model, glm::vec3(0.0f, 0.0f, 0.0f))), -m_RotationMatrix(glm::eulerAngleYXZ(0.0f, 0.0f, 0.0f)), -m_ScaleMatrix(glm::scale(m_Model, glm::vec3(1.0f, 1.0f, 1.0f))), m_Line2DColor(glm::vec4(1.0, 0.0, 0.0, 1.0)), m_TextureObj(0), m_FboID(0), diff --git a/chart2/source/view/main/OpenGLRender.hxx b/chart2/source/view/main/OpenGLRender.hxx index 875f6fa..48eae6c 100644 --- a/chart2/source/view/main/OpenGLRender.hxx +++ b/chart2/source/view/main/OpenGLRender.hxx @@ -208,12 +208,6 @@ private: // Our ModelViewProjection : multiplication of our 3 matrices glm::mat4 m_MVP; -glm::mat4 m_TranslationMatrix; - -glm::mat4 m_RotationMatrix; - -glm::mat4 m_ScaleMatrix; - GLint m_RenderProID; glm::vec4 m_Line2DColor; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/chart-opengl2' - 2 commits - chart2/source
chart2/source/view/charttypes/PieChart.cxx |9 + chart2/source/view/main/VDataSeries.cxx|1 - 2 files changed, 9 insertions(+), 1 deletion(-) New commits: commit 91aa36984d00adfbf9f64c2a3d02e61450cbf3b1 Author: Markus Mohrhard markus.mohrh...@googlemail.com Date: Sat Jan 4 13:04:19 2014 +0100 todo has been implemented Change-Id: Ibf99ebef1583618b2108be41dc6535c574391f20 diff --git a/chart2/source/view/main/VDataSeries.cxx b/chart2/source/view/main/VDataSeries.cxx index 1f86264..efc5333 100644 --- a/chart2/source/view/main/VDataSeries.cxx +++ b/chart2/source/view/main/VDataSeries.cxx @@ -1101,7 +1101,6 @@ double VDataSeries::getValueByProperty( sal_Int32 nIndex, const OUString rPropN return fNan; } -// TODO:moggi handle time based charting const VDataSequence* pData = itr-second; double fValue = pData-getValue(nIndex); if(mpOldSeries mpOldSeries-hasPropertyMapping(rPropName)) commit 2a43b9b85b86cd3b6e36596c62fae6f6a1b50b32 Author: Markus Mohrhard markus.mohrh...@googlemail.com Date: Sat Jan 4 13:03:40 2014 +0100 add property mapping to pie charts Change-Id: Ic65061fcb320ba2b249d53396bce9ccd2049474c diff --git a/chart2/source/view/charttypes/PieChart.cxx b/chart2/source/view/charttypes/PieChart.cxx index 1e7c1af..c5fdcc2 100644 --- a/chart2/source/view/charttypes/PieChart.cxx +++ b/chart2/source/view/charttypes/PieChart.cxx @@ -347,6 +347,8 @@ void PieChart::createShapes() if(!pSeries) continue; +bool bHasFillColorMapping = pSeries-hasPropertyMapping(FillColor); + m_pPosHelper-m_fAngleDegreeOffset = pSeries-getStartingAngle(); double fLogicYSum = 0.0; @@ -432,6 +434,13 @@ void PieChart::createShapes() , fUnitCircleInnerRadius, fUnitCircleOuterRadius , fLogicZ, fDepth, fExplodePercentage, apOverwritePropertiesMap.get() ) ); +if(bHasFillColorMapping) +{ +uno::Reference beans::XPropertySet xProps( xPointShape, uno::UNO_QUERY_THROW ); +xProps-setPropertyValue(FillColor, uno::makeAny(static_castsal_Int32( +pSeries-getValueByProperty(nPointIndex, FillColor; +} + //create label if( pSeries-getDataPointLabelIfLabel(nPointIndex) ) { ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/chart-opengl2' - 2 commits - chart2/source
chart2/source/view/charttypes/BubbleChart.cxx |7 +++ chart2/source/view/main/VDataSeries.cxx | 12 2 files changed, 19 insertions(+) New commits: commit 06d25e66d43dc23c1de096e077c912e3b7fd892e Author: Markus Mohrhard markus.mohrh...@googlemail.com Date: Sat Jan 4 16:14:51 2014 +0100 improve the color interpolation in time based charts Change-Id: I732cee263258939742b7c43e02e89053a5dce9a8 diff --git a/chart2/source/view/main/VDataSeries.cxx b/chart2/source/view/main/VDataSeries.cxx index efc5333..2ebe5f5 100644 --- a/chart2/source/view/main/VDataSeries.cxx +++ b/chart2/source/view/main/VDataSeries.cxx @@ -1106,6 +1106,18 @@ double VDataSeries::getValueByProperty( sal_Int32 nIndex, const OUString rPropN if(mpOldSeries mpOldSeries-hasPropertyMapping(rPropName)) { double fOldValue = mpOldSeries-getValueByProperty( nIndex, rPropName ); +if(rPropName.endsWith(Color)) +{ +//optimized interpolation for color values +Color aColor(static_castsal_uInt32(fValue)); +Color aOldColor(static_castsal_uInt32(fOldValue)); +sal_uInt8 r = aOldColor.GetRed() + (aColor.GetRed() - aOldColor.GetRed()) * mnPercent; +sal_uInt8 g = aOldColor.GetGreen() + (aColor.GetGreen() - aOldColor.GetGreen()) * mnPercent; +sal_uInt8 b = aOldColor.GetBlue() + (aColor.GetBlue() - aOldColor.GetBlue()) * mnPercent; +sal_uInt8 t = aOldColor.GetTransparency() + (aColor.GetTransparency() - aOldColor.GetTransparency()) * mnPercent; +Color aRet(t, r, g, b); +return aRet.GetColor(); +} return fOldValue + (fValue - fOldValue) * mnPercent; } return fValue; commit ede371bd3322633d1098c1f26ebc438ff567f57e Author: Markus Mohrhard markus.mohrh...@googlemail.com Date: Sat Jan 4 15:56:57 2014 +0100 initial work on supporting LineColor mapping in bubble charts Change-Id: I9eab939ce8859ad30aeaa58b3b942004043fe295 diff --git a/chart2/source/view/charttypes/BubbleChart.cxx b/chart2/source/view/charttypes/BubbleChart.cxx index a2e5dca..f25ddf3 100644 --- a/chart2/source/view/charttypes/BubbleChart.cxx +++ b/chart2/source/view/charttypes/BubbleChart.cxx @@ -249,6 +249,7 @@ void BubbleChart::createShapes() continue; bool bHasFillColorMapping = pSeries-hasPropertyMapping(FillColor); +bool bHasBorderColorMapping = pSeries-hasPropertyMapping(LineColor); uno::Reference drawing::XShapes xSeriesGroupShape_Shapes = getSeriesGroupShape(*aSeriesIter, xSeriesTarget); @@ -327,6 +328,12 @@ void BubbleChart::createShapes() xProps-setPropertyValue(FillColor, uno::makeAny(static_castsal_Int32( pSeries-getValueByProperty(nIndex, FillColor; } +if(bHasBorderColorMapping) +{ +uno::Reference beans::XPropertySet xProps( xShape, uno::UNO_QUERY_THROW ); +xProps-setPropertyValue(LineColor, uno::makeAny(static_castsal_Int32( + pSeries-getValueByProperty(nIndex, LineColor; +} m_pShapeFactory-setShapeName( xShape, MarkHandles ); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/chart-opengl2' - 2 commits - chart2/source vcl/source
chart2/source/view/main/OpenGLRender.cxx |4 +++- vcl/source/app/timer.cxx | 27 +-- 2 files changed, 16 insertions(+), 15 deletions(-) New commits: commit 0012f3a450a1285f3d9edb6bdbdf8f5b7fef2897 Author: Markus Mohrhard markus.mohrh...@googlemail.com Date: Fri Jan 3 13:22:51 2014 +0100 maybe that will fix my windows crashes Change-Id: Idedfe8c0385712807c7f810d5275947310f24df4 diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx index 17fac5f..2d5f209 100644 --- a/chart2/source/view/main/OpenGLRender.cxx +++ b/chart2/source/view/main/OpenGLRender.cxx @@ -858,7 +858,9 @@ OpenGLRender::OpenGLRender(uno::Reference drawing::XShape xTarget): m_iPointNum(0), m_iFboIdx(0), m_fLineAlpha(1.0), -mxRenderTarget(xTarget) +mxRenderTarget(xTarget), +m_TextVertexID(0), +m_TextTexCoordID(1) { memset(m_Line2DPoitList, 0, sizeof(Line2DPointList)); m_iFboIdx = 0; commit 21e238c6dafb075dbae4b7906684decc5ac51a57 Author: Markus Mohrhard markus.mohrh...@googlemail.com Date: Fri Jan 3 12:09:02 2014 +0100 small cleanup in timer.cxx Change-Id: Ia47c1775bc13596bf854475dd786c50c9c9b6e25 diff --git a/vcl/source/app/timer.cxx b/vcl/source/app/timer.cxx index dab9927..512386a 100644 --- a/vcl/source/app/timer.cxx +++ b/vcl/source/app/timer.cxx @@ -191,22 +191,21 @@ void Timer::ImplTimerCallbackProc() pSVData-mbNotAllTimerCalled = sal_False; } -Timer::Timer() +Timer::Timer(): +mpTimerData(NULL), +mnTimeout(1), +mbActive(false), +mbAuto(false) { -mpTimerData = NULL; -mnTimeout = 1; -mbAuto = false; -mbActive= false; } -Timer::Timer( const Timer rTimer ) +Timer::Timer( const Timer rTimer ): +mpTimerData(NULL), +mnTimeout(rTimer.mnTimeout), +mbActive(false), +mbAuto(false), +maTimeoutHdl(rTimer.maTimeoutHdl) { -mpTimerData = NULL; -mnTimeout = rTimer.mnTimeout; -mbAuto = false; -mbActive= false; -maTimeoutHdl= rTimer.maTimeoutHdl; - if ( rTimer.IsActive() ) Start(); } @@ -217,7 +216,7 @@ Timer::~Timer() { mpTimerData-mbDelete = true; mpTimerData-mpTimer = NULL; -} + } } void Timer::Timeout() @@ -256,7 +255,7 @@ void Timer::Start() } // insert timer and start -mpTimerData = new ImplTimerData; +mpTimerData = new ImplTimerData; mpTimerData-mpTimer= this; mpTimerData-mnUpdateTime = Time::GetSystemTicks(); mpTimerData-mnTimerUpdate = pSVData-mnTimerUpdate; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/chart-opengl2' - 2 commits - chart2/source
chart2/source/controller/dialogs/tp_DataSource.cxx | 23 +++- chart2/source/controller/dialogs/tp_DataSource.hrc |2 chart2/source/controller/dialogs/tp_DataSource.hxx |7 + chart2/source/controller/dialogs/tp_DataSource.src | 16 ++- chart2/source/view/charttypes/BubbleChart.cxx |9 + chart2/source/view/inc/VDataSeries.hxx |7 + chart2/source/view/main/OpenGLRender.cxx | 99 + chart2/source/view/main/OpenGLRender.hxx | 14 ++ chart2/source/view/main/VDataSeries.cxx| 27 + 9 files changed, 190 insertions(+), 14 deletions(-) New commits: commit b9970db1ca75a5f06a4d32fdb92f17927b63ea25 Author: Markus Mohrhard markus.mohrh...@googlemail.com Date: Sat Jan 4 08:16:08 2014 +0100 first step for mapped properties Only FillColor in bubble charts is supported right now. Change-Id: If6ad0220c15e06a9a57c554f6243fd9908b2651b diff --git a/chart2/source/controller/dialogs/tp_DataSource.cxx b/chart2/source/controller/dialogs/tp_DataSource.cxx index c0232ae..87cd872 100644 --- a/chart2/source/controller/dialogs/tp_DataSource.cxx +++ b/chart2/source/controller/dialogs/tp_DataSource.cxx @@ -212,13 +212,10 @@ void lcl_increaseHeightOfControl( Control rControl, long nYOffset ) namespace chart { -DataSourceTabPage::DataSourceTabPage( -Window * pParent, -DialogModel rDialogModel, -ChartTypeTemplateProvider* pTemplateProvider, -Dialog * pParentDialog, -bool bHideDescription /* = false */ ) : -::svt::OWizardPage( pParent, SchResId( TP_DATA_SOURCE )), +DataSourceTabPage::DataSourceTabPage( Window * pParent, +DialogModel rDialogModel, ChartTypeTemplateProvider* pTemplateProvider, +Dialog * pParentDialog, bool bHideDescription /* = false */ ) : +::svt::OWizardPage( pParent, SchResId( TP_DATA_SOURCE )), m_aFT_CAPTION ( this, SchResId( FT_CAPTION_FOR_WIZARD )), m_aFT_SERIES ( this, SchResId( FT_SERIES )), @@ -236,6 +233,7 @@ DataSourceTabPage::DataSourceTabPage( m_aFT_DATALABELS ( this, SchResId( FT_DATALABELS )), m_aEDT_CATEGORIES ( this, SchResId( EDT_CATEGORIES )), m_aIMB_RANGE_CAT ( this, SchResId( IMB_RANGE_CAT )), +m_aBtn_AddMapping ( this, SchResId( BTN_ADDMAPPING )), m_pTemplateProvider( pTemplateProvider ), m_rDialogModel( rDialogModel ), @@ -319,6 +317,9 @@ DataSourceTabPage::DataSourceTabPage( m_aEDT_RANGE.SetStyle( m_aEDT_RANGE.GetStyle() | WB_FORCECTRLBACKGROUND ); m_aEDT_CATEGORIES.SetStyle( m_aEDT_CATEGORIES.GetStyle() | WB_FORCECTRLBACKGROUND ); +// mapped properties +m_aBtn_AddMapping.SetClickHdl( LINK( this, DataSourceTabPage, AddMappingHdl )); + // set symbol font for arrows // note: StarSymbol is substituted to OpenSymbol for OOo Font aSymbolFont( m_aBTN_UP.GetFont()); @@ -824,6 +825,14 @@ IMPL_LINK( DataSourceTabPage, RangeUpdateDataHdl, Edit*, pEdit ) return 0; } +IMPL_LINK_NOARG( DataSourceTabPage, AddMappingHdl ) +{ +OUString aNewMappingName = FillColor; +m_aLB_ROLE.InsertEntry( lcl_GetRoleLBEntry( aNewMappingName, OUString())); + +return 0; +} + void DataSourceTabPage::listeningFinished( const OUString rNewRange ) { diff --git a/chart2/source/controller/dialogs/tp_DataSource.hrc b/chart2/source/controller/dialogs/tp_DataSource.hrc index 2ac81ce..83f70af 100644 --- a/chart2/source/controller/dialogs/tp_DataSource.hrc +++ b/chart2/source/controller/dialogs/tp_DataSource.hrc @@ -41,4 +41,6 @@ #define BTN_UP140 #define BTN_DOWN 150 +#define BTN_ADDMAPPING160 + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/source/controller/dialogs/tp_DataSource.hxx b/chart2/source/controller/dialogs/tp_DataSource.hxx index bb74276..6324b49 100644 --- a/chart2/source/controller/dialogs/tp_DataSource.hxx +++ b/chart2/source/controller/dialogs/tp_DataSource.hxx @@ -90,6 +90,7 @@ protected: DECL_LINK( RangeUpdateDataHdl, Edit* ); DECL_LINK( UpButtonClickedHdl, void* ); DECL_LINK( DownButtonClickedHdl, void* ); +DECL_LINK( AddMappingHdl, void* ); // RangeSelectionListenerParent virtual void listeningFinished( const OUString rNewRange ); @@ -110,8 +111,8 @@ protected: ::com::sun::star::uno::Reference ::com::sun::star::sheet::XRangeSelectionListener getSelectionRangeListener(); -/** @return /sal_True, if the edit field contains a valid range entry. if no -XCellRangesAccess can be obtained, /sal_True is returned. +/** @return /sal_True, if the edit field contains a valid range entry. If no +XCellRangesAccess can be obtained, /sal_False is returned. */ bool isRangeFieldContentValid( Edit rEdit ); @@ -145,6 +146,8 @@ private: RangeEdit m_aEDT_CATEGORIES; RangeSelectionButtonm_aIMB_RANGE_CAT; +PushButton m_aBtn_AddMapping; +
[Libreoffice-commits] core.git: Branch 'feature/chart-opengl2' - 2 commits - chart2/source sax/source
chart2/source/view/main/DummyXShape.cxx |6 +++--- chart2/source/view/main/OpenGLRender.cxx |9 + sax/source/fastparser/fastparser.cxx | 10 +- 3 files changed, 17 insertions(+), 8 deletions(-) New commits: commit fff37863a8b88f71afc0c967893907807534d404 Author: Michael Meeks michael.me...@collabora.com Date: Tue Dec 31 12:20:45 2013 + initialize openGL for Linux too. Change-Id: I5bd73e0690b264f8670b71d4894bf3a7b112 diff --git a/chart2/source/view/main/DummyXShape.cxx b/chart2/source/view/main/DummyXShape.cxx index 64dc65a..6f6c41d 100644 --- a/chart2/source/view/main/DummyXShape.cxx +++ b/chart2/source/view/main/DummyXShape.cxx @@ -839,9 +839,6 @@ bool DummyChart::initOpengl() SetPixelFormat(GLWin.hDC,WindowPix,PixelFormatFront); GLWin.hRC = wglCreateContext(GLWin.hDC); wglMakeCurrent(GLWin.hDC,GLWin.hRC); -//[Mod] GaoWei -m_GLRender.InitOpenGL(GLWin); -//[Mod] GaoWei end #elif defined( UNX ) if( !glXMakeCurrent( GLWin.dpy, GLWin.win, GLWin.ctx ) ) @@ -891,8 +888,11 @@ bool DummyChart::initOpengl() unx::XSetErrorHandler( oldHandler ); } } + #endif +m_GLRender.InitOpenGL(GLWin); + glEnable(GL_TEXTURE_2D); glEnable(GL_CULL_FACE); glCullFace(GL_BACK); diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx index f039ffd..8def8cb 100644 --- a/chart2/source/view/main/OpenGLRender.cxx +++ b/chart2/source/view/main/OpenGLRender.cxx @@ -308,6 +308,15 @@ int OpenGLRender::InitOpenGL(GLWindow aWindow) cout Failed to initialize GLEW endl; return -1; } + +// These guys don't just check support but setup the vtables. +if (glewIsSupported(framebuffer_object) != GLEW_OK) +{ +cout GL stack has no framebuffer support endl; +return -1; +} +cerr Initialized openGL successfully endl; + glEnable(GL_TEXTURE_2D); glEnable(GL_CULL_FACE); glCullFace(GL_BACK); commit a3dbc97ec1852142e52ba258637648643cb59ed4 Author: Michael Meeks michael.me...@collabora.com Date: Tue Dec 31 12:04:21 2013 + fastparser: avoid boost::optional where it is un-necessary. boost::optional appears to show up rather heavily on many profiles. We already use mnElementToken == DONTKNOW to flag / use these guys. Change-Id: Ibf2b0167f259cc601da2fb9703e880b78e60886e diff --git a/sax/source/fastparser/fastparser.cxx b/sax/source/fastparser/fastparser.cxx index 88bef41..a7ba27b 100644 --- a/sax/source/fastparser/fastparser.cxx +++ b/sax/source/fastparser/fastparser.cxx @@ -95,10 +95,10 @@ struct NameWithToken struct SaxContext { -::com::sun::star::uno::Reference ::com::sun::star::xml::sax::XFastContextHandler mxContext; -sal_Int32 mnElementToken; -boost::optional OUString maNamespace; -boost::optional OUString maElementName; +Reference XFastContextHandler mxContext; +sal_Int32 mnElementToken; +OUString maNamespace; +OUString maElementName; SaxContext( sal_Int32 nElementToken, const OUString aNamespace, const OUString aElementName ): mnElementToken(nElementToken) @@ -498,7 +498,7 @@ void Entity::endElement() if( nElementToken != FastToken::DONTKNOW ) xContext-endFastElement( nElementToken ); else -xContext-endUnknownElement( aContext.maNamespace.get(), aContext.maElementName.get() ); +xContext-endUnknownElement( aContext.maNamespace, aContext.maElementName ); } catch (const Exception e) { ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/chart-opengl2' - 2 commits - chart2/source
chart2/source/view/main/DummyXShape.cxx| 12 + chart2/source/view/main/OpenGLRender.cxx | 202 + chart2/source/view/main/OpenGLRender.hxx | 13 + chart2/source/view/main/OpenglShapeFactory.cxx |3 4 files changed, 229 insertions(+), 1 deletion(-) New commits: commit 140dc8560947e49ccc78d5ac3bf79d6232b779aa Author: YangZhang yangzh...@multicorewareinc.com Date: Mon Dec 30 17:20:18 2013 +0800 fix linux compilation Change-Id: I1631fe4abfd1a14d39410e6e75883949dfc15c18 Signed-off-by: shaochunfang shaoc...@multicorewareinc.com diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx index 6e88010..d76b4fa 100755 --- a/chart2/source/view/main/OpenGLRender.cxx +++ b/chart2/source/view/main/OpenGLRender.cxx @@ -996,6 +996,7 @@ void OpenGLRender::SetLine2DWidth(int width) m_fLineWidth = (m_fLineWidth 0.001) ? 0.001 : m_fLineWidth; } +#if defined( _WIN32 ) static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) @@ -1106,7 +1107,7 @@ int OpenGLRender::InitMultisample(PIXELFORMATDESCRIPTOR pfd) DestroyWindow(hWnd); return m_iArbMultisampleSupported; } - +#endif int OpenGLRender::GetMSAASupport() { return m_iArbMultisampleSupported; @@ -1117,6 +1118,7 @@ int OpenGLRender::GetMSAAFormat() return m_iArbMultisampleFormat; } +#if defined( _WIN32 ) int OpenGLRender::InitTempWindow(HWND *hwnd, int width, int height, PIXELFORMATDESCRIPTOR inPfd) { PIXELFORMATDESCRIPTOR pfd = inPfd; @@ -1157,7 +1159,6 @@ int OpenGLRender::InitTempWindow(HWND *hwnd, int width, int height, PIXELFORMATD } return 0; } - int OpenGLRender::WGLisExtensionSupported(const char *extension) { const size_t extlen = strlen(extension); @@ -1194,7 +1195,7 @@ int OpenGLRender::WGLisExtensionSupported(const char *extension) } return 1; } - +#endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/source/view/main/OpenGLRender.hxx b/chart2/source/view/main/OpenGLRender.hxx index 5643bc9..70b05e0 100755 --- a/chart2/source/view/main/OpenGLRender.hxx +++ b/chart2/source/view/main/OpenGLRender.hxx @@ -124,7 +124,9 @@ public: void SetLine2DColor(sal_uInt8 r, sal_uInt8 g, sal_uInt8 b); void SetLine2DWidth(int width); BitmapEx GetAsBitmap(); +#if defined( _WIN32 ) int InitMultisample(PIXELFORMATDESCRIPTOR pfd); +#endif int GetMSAASupport(); int GetMSAAFormat(); private: @@ -134,7 +136,9 @@ private: int CreateFrameBufferObj(); int RenderTexture(GLuint TexID); int RenderTexture2FBO(GLuint TexID); +#if defined( _WIN32 ) int InitTempWindow(HWND *hwnd, int width, int height, PIXELFORMATDESCRIPTOR inPfd); +#endif int WGLisExtensionSupported(const char *extension); private: // Projection matrix : default 45 degree Field of View, 4:3 ratio, display range : 0.1 unit - 100 units commit a0fc1639bd544c48c121a4fff8e6109c8b164484 Author: Peilin pei...@multicorewareinc.com Date: Mon Dec 30 16:44:23 2013 +0800 add anti-aliasing init diff --git a/chart2/source/view/main/DummyXShape.cxx b/chart2/source/view/main/DummyXShape.cxx index 335e0e2..64dc65a 100644 --- a/chart2/source/view/main/DummyXShape.cxx +++ b/chart2/source/view/main/DummyXShape.cxx @@ -825,7 +825,17 @@ bool DummyChart::initOpengl() 0, 0, 0 // Layer Masks Ignored }; -int WindowPix = ChoosePixelFormat(GLWin.hDC,PixelFormatFront); +// we must check whether can set the MSAA +int WindowPix; +m_GLRender.InitMultisample(PixelFormatFront); +if (m_GLRender.GetMSAASupport()) +{ +WindowPix = m_GLRender.GetMSAAFormat(); +} +else +{ +WindowPix = ChoosePixelFormat(GLWin.hDC,PixelFormatFront); +} SetPixelFormat(GLWin.hDC,WindowPix,PixelFormatFront); GLWin.hRC = wglCreateContext(GLWin.hDC); wglMakeCurrent(GLWin.hDC,GLWin.hRC); diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx index 1d3a9f4..6e88010 100755 --- a/chart2/source/view/main/OpenGLRender.cxx +++ b/chart2/source/view/main/OpenGLRender.cxx @@ -996,4 +996,205 @@ void OpenGLRender::SetLine2DWidth(int width) m_fLineWidth = (m_fLineWidth 0.001) ? 0.001 : m_fLineWidth; } +static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) +{ +switch (message) +{ +case WM_CREATE: +return 0; +case WM_CLOSE: +PostQuitMessage(0); +return 0; +case WM_DESTROY: +return 0; +case WM_KEYDOWN: +switch(wParam) +{ +case VK_ESCAPE: +PostQuitMessage(0); +return 0; + +case VK_SPACE: +break; +} +default: +return DefWindowProc(hwnd, message, wParam, lParam); +} +} + + +int
[Libreoffice-commits] core.git: Branch 'feature/chart-opengl2' - 2 commits - chart2/source
chart2/source/view/main/OpenGLRender.cxx | 216 + chart2/source/view/main/OpenGLRender.hxx | 43 chart2/source/view/main/OpenglShapeFactory.cxx |6 3 files changed, 265 insertions(+) New commits: commit 356fc4ffe09bb804068c5786d3b3c1f38b3a8690 Author: YangZhang yangzh...@multicorewareinc.com Date: Mon Dec 30 19:03:03 2013 +0800 add bubble chart Change-Id: Idfffb7ce8607964ecb71571546bfcc2544b4e00a Signed-off-by: shaochunfang shaoc...@multicorewareinc.com diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx index cbb5af8..f039ffd 100755 --- a/chart2/source/view/main/OpenGLRender.cxx +++ b/chart2/source/view/main/OpenGLRender.cxx @@ -27,6 +27,13 @@ using namespace std; #define OPENGL_SHADER( ... )# __VA_ARGS__ +#define GL_PI 3.14159f + +#if defined( _WIN32 ) +#define WGL_SAMPLE_BUFFERS_ARB 0x2041 +#define WGL_SAMPLES_ARB 0x2042 +#endif + const char *ColorFragmemtShader = OPENGL_SHADER ( varying vec3 fragmentColor; @@ -1226,5 +1233,185 @@ int OpenGLRender::CreateMultiSampleFrameBufObj() return 0; } +int OpenGLRender::Create2DCircle(int detail) +{ +float angle; +int idx = 2; +if (detail = 0) +{ +return -1; +} +m_Bubble2DCircle.bufLen = 2 * (detail + 3)* sizeof(float); +m_Bubble2DCircle.pointBuf = (float *)malloc(m_Bubble2DCircle.bufLen); +memset(m_Bubble2DCircle.pointBuf, 0, m_Bubble2DCircle.bufLen); +for(angle = 2.0f * GL_PI; angle -(2.0f * GL_PI / detail); angle -= (2.0f * GL_PI / detail)) +{ +m_Bubble2DCircle.pointBuf[idx++] = sin(angle); +m_Bubble2DCircle.pointBuf[idx++] = cos(angle); +} +return 0; +} + +int OpenGLRender::Bubble2DShapePoint(float x, float y, float directionX, float directionY) +{ +//check whether to create the circle data +if (!m_Bubble2DCircle.pointBuf) +{ +Create2DCircle(100); +} + +float actualX = (x / 10.0f) - ((float)m_iWidth / 2); +float actualY = (y / 10.0f) - ((float)m_iHeight / 2); +m_Bubble2DPointList.x = actualX; +m_Bubble2DPointList.y = actualY; +m_Bubble2DPointList.xScale = directionX / 10.0f; +m_Bubble2DPointList.yScale = directionY / 10.0f; + +m_fPicLeft = actualX m_fPicLeft ? actualX : m_fPicLeft; + +m_fPicRight = actualX m_fPicRight ? actualX : m_fPicRight; + +m_fPicBottom = actualY m_fPicBottom ? actualY : m_fPicBottom; + +m_fPicTop = actualY m_fPicTop ? actualY : m_fPicTop; + +m_Bubble2DShapePointList.push_back(m_Bubble2DPointList); +return 0; +} + +int OpenGLRender::RenderBubble2FBO(int wholeFlag) +{ +char fileName[256] = {0}; +GLenum status; +glViewport(0, 0, m_iWidth, m_iHeight); +glClearDepth(1.0f); +// Clear the screen +glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); +if ((!m_FboID[0]) || (!m_FboID[1])) +{ +// create a texture object +CreateTextureObj(m_iWidth, m_iHeight); +//create render buffer object +CreateRenderObj(m_iWidth, m_iHeight); +//create fbo +CreateFrameBufferObj(); +if (m_iArbMultisampleSupported) +{ +CreateMultiSampleFrameBufObj(); +} +} +//bind fbo +if (m_iArbMultisampleSupported) +{ +glBindFramebuffer(GL_FRAMEBUFFER,m_frameBufferMS); +} +else +{ +glBindFramebuffer(GL_FRAMEBUFFER, m_FboID[m_iFboIdx % 2]); +} +// Clear the screen +glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); +if (wholeFlag) +{ +if (m_iFboIdx 0) +{ + RenderTexture2FBO(m_TextureObj[(m_iFboIdx - 1) % 2]); +} +} +int listNum = m_Bubble2DShapePointList.size(); +for (int i = 0; i listNum; i++) +{ +//move the circle to the pos, and scale using the xScale and Y scale +Bubble2DPointList pointList = m_Bubble2DShapePointList.front(); +PosVecf3 trans = {pointList.x, pointList.y, 0.0f}; +PosVecf3 angle = {0.0f, 0.0f, 0.0f}; +PosVecf3 scale = {pointList.xScale, pointList.yScale, 1.0f}; +MoveModelf(trans, angle, scale); +m_MVP = m_Projection * m_View * m_Model; +//render to fbo +//fill vertex buffer +glBindBuffer(GL_ARRAY_BUFFER, m_VertexBuffer); +if (!m_Bubble2DCircle.pointBuf) +{ +Create2DCircle(100); +} +glBufferData(GL_ARRAY_BUFFER, m_Bubble2DCircle.bufLen, m_Bubble2DCircle.pointBuf, GL_STATIC_DRAW); + +glUseProgram(m_CommonProID); + +glUniform4fv(m_2DColorID, 1, m_2DColor[0]); + +glUniformMatrix4fv(m_MatrixID, 1, GL_FALSE, m_MVP[0][0]); +// 1rst attribute buffer : vertices +glEnableVertexAttribArray(m_2DVertexID); +glBindBuffer(GL_ARRAY_BUFFER, m_VertexBuffer); +glVertexAttribPointer( +m_2DVertexID, // attribute. No particular reason for 0, but must match
[Libreoffice-commits] core.git: Branch 'feature/chart-opengl2' - 2 commits - chart2/source
chart2/source/view/main/OpenGLRender.cxx |2 ++ chart2/source/view/main/OpenglShapeFactory.cxx |1 + 2 files changed, 3 insertions(+) New commits: commit ed62683f83b086f2f3bfeef6548b0546a031bf85 Author: Markus Mohrhard markus.mohrh...@googlemail.com Date: Sat Dec 28 13:27:41 2013 +0100 now I can at least something on the screen Change-Id: Iececc07d84cd583b68231814353a357553eda604 diff --git a/chart2/source/view/main/OpenglShapeFactory.cxx b/chart2/source/view/main/OpenglShapeFactory.cxx index 0ec9feb..27b1ca1 100644 --- a/chart2/source/view/main/OpenglShapeFactory.cxx +++ b/chart2/source/view/main/OpenglShapeFactory.cxx @@ -126,6 +126,7 @@ uno::Reference drawing::XShapes OpenglShapeFactory::getOrCreateChartRootShape xRet = new dummy::DummyChart(); m_pChart = (void *)((dummy::DummyChart *)xRet); #endif +xDrawPage-add(xTarget); xDrawPage-add(pContainer); } return xRet; commit d67a7c60cdd07bc2b35f4b88e53c22e1552413fd Author: Markus Mohrhard markus.mohrh...@googlemail.com Date: Sat Dec 28 13:17:49 2013 +0100 try to control size Change-Id: Ib588b28370bc7a680fa379d02d766e963bec diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx index 2ff2017..d4de633 100644 --- a/chart2/source/view/main/OpenGLRender.cxx +++ b/chart2/source/view/main/OpenGLRender.cxx @@ -683,6 +683,8 @@ int OpenGLRender::RenderLine2FBO(int wholeFlag) uno::Reference awt::XBitmap xBmp( aGraphic.GetXGraphic(), uno::UNO_QUERY ); uno::Reference beans::XPropertySet xPropSet ( mxRenderTarget, uno::UNO_QUERY ); xPropSet-setPropertyValue(Graphic, uno::makeAny(aGraphic.GetXGraphic())); +mxRenderTarget-setSize(awt::Size(m_iWidth, m_iHeight)); +mxRenderTarget-setPosition(awt::Point(0,0)); #endif glBindFramebuffer(GL_FRAMEBUFFER, 0); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'feature/chart-opengl2' - 2 commits - chart2/source
chart2/source/view/main/DummyXShape.cxx |2 +- chart2/source/view/main/OpenGLRender.cxx |4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) New commits: commit fca1d65652e455dee8b3fcd163624ea74163b061 Author: Markus Mohrhard markus.mohrh...@googlemail.com Date: Sun Dec 29 05:17:28 2013 +0100 try to improve the rendering Change-Id: I873e56c28228e24c9d26419a013f358548873931 diff --git a/chart2/source/view/main/DummyXShape.cxx b/chart2/source/view/main/DummyXShape.cxx index 261604c..4e4b3dc 100644 --- a/chart2/source/view/main/DummyXShape.cxx +++ b/chart2/source/view/main/DummyXShape.cxx @@ -953,7 +953,7 @@ void DummyChart::setSize( const awt::Size aSize ) tempSize.Height = height; mpWindow-SetSizePixel(Size(width, height)); pWindow-SetSizePixel(Size(width, height)); -DummyXShape::setSize(tempSize); +DummyXShape::setSize(Size(0,0)); m_GLRender.SetWidth(width); m_GLRender.SetHeight(height); SAL_WARN(chart2.opengl, DummyChart::GLRender.Width = width , GLRender.Height = height); commit 633170623a616b028c0ba010e0705d17ac8bb064 Author: Markus Mohrhard markus.mohrh...@googlemail.com Date: Sun Dec 29 05:16:17 2013 +0100 fix warnings Change-Id: I3e45922aa6bc2bbd1db99025a5dde9670247501b diff --git a/chart2/source/view/main/OpenGLRender.cxx b/chart2/source/view/main/OpenGLRender.cxx index d4de633..c54ef8c 100644 --- a/chart2/source/view/main/OpenGLRender.cxx +++ b/chart2/source/view/main/OpenGLRender.cxx @@ -661,12 +661,12 @@ int OpenGLRender::RenderLine2FBO(int wholeFlag) Bitmap::ScopedWriteAccess pAlphaWriteAccess( aAlpha ); size_t nCurPos = 0; -for( size_t y = 0; y m_iHeight; ++y) +for( size_t y = 0; y size_t(m_iHeight); ++y) { Scanline pScan = pWriteAccess-GetScanline(y); Scanline pAlphaScan = pAlphaWriteAccess-GetScanline(y); -for( size_t x = 0; x m_iWidth; ++x ) +for( size_t x = 0; x size_t(m_iWidth); ++x ) { *pScan++ = buf[nCurPos]; *pScan++ = buf[nCurPos+1]; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits