From 2a7a0d0d9bb1a07be25d89c5be732188f0faffc9 Mon Sep 17 00:00:00 2001 From: Edouard Dupin Date: Fri, 10 Aug 2012 17:27:32 +0200 Subject: [PATCH] remove the double buffering --- jni/appl/Gui/CodeView.cpp | 41 +++++++++++++++++++-------------------- jni/appl/Gui/CodeView.h | 10 +++++----- 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/jni/appl/Gui/CodeView.cpp b/jni/appl/Gui/CodeView.cpp index 956e6d5..8675abc 100644 --- a/jni/appl/Gui/CodeView.cpp +++ b/jni/appl/Gui/CodeView.cpp @@ -118,11 +118,11 @@ void CodeView::CalculateMaxSize(void) void CodeView::OnDraw(ewol::DrawProperty& displayProp) { - m_OObjectsColored[ m_currentDrawId].Draw(); - m_OObjectTextNormal[ m_currentDrawId].Draw(); - m_OObjectTextBold[ m_currentDrawId].Draw(); - m_OObjectTextItalic[ m_currentDrawId].Draw(); - m_OObjectTextBoldItalic[m_currentDrawId].Draw(); + m_OObjectsColored.Draw(); + m_OObjectTextNormal.Draw(); + m_OObjectTextBold.Draw(); + m_OObjectTextItalic.Draw(); + m_OObjectTextBoldItalic.Draw(); WidgetScrooled::OnDraw(displayProp); } @@ -135,31 +135,31 @@ void CodeView::OnRegenerateDisplay(void) CalculateMaxSize(); // clean internal elements ... - m_OObjectTextNormal[ m_currentCreateId].SetFontID(m_fontNormal); - m_OObjectTextBold[ m_currentCreateId].SetFontID(m_fontBold); - m_OObjectTextItalic[ m_currentCreateId].SetFontID(m_fontItalic); - m_OObjectTextBoldItalic[m_currentCreateId].SetFontID(m_fontBoldItalic); + m_OObjectTextNormal.SetFontID(m_fontNormal); + m_OObjectTextBold.SetFontID(m_fontBold); + m_OObjectTextItalic.SetFontID(m_fontItalic); + m_OObjectTextBoldItalic.SetFontID(m_fontBoldItalic); - m_OObjectTextNormal[ m_currentCreateId].Clear(); - m_OObjectTextBold[ m_currentCreateId].Clear(); - m_OObjectTextItalic[ m_currentCreateId].Clear(); - m_OObjectTextBoldItalic[m_currentCreateId].Clear(); - m_OObjectsColored[ m_currentCreateId].Clear(); + m_OObjectTextNormal.Clear(); + m_OObjectTextBold.Clear(); + m_OObjectTextItalic.Clear(); + m_OObjectTextBoldItalic.Clear(); + m_OObjectsColored.Clear(); if(true == BufferManager::Get(m_bufferID)->NeedToUpdateDisplayPosition() ) { Vector2D borderWidth = BufferManager::Get(m_bufferID)->GetBorderSize(); bool centerRequested = false; - Vector2D currentPosition = BufferManager::Get(m_bufferID)->GetPosition(m_OObjectTextNormal[m_currentCreateId].GetFontID(), centerRequested); + Vector2D currentPosition = BufferManager::Get(m_bufferID)->GetPosition(m_OObjectTextNormal.GetFontID(), centerRequested); SetScrollingPositionDynamic(borderWidth, currentPosition, centerRequested); } // else : nothing to do ... // generate the objects : - BufferManager::Get(m_bufferID)->Display(m_OObjectTextNormal[m_currentCreateId], - m_OObjectTextBold[m_currentCreateId], - m_OObjectTextItalic[m_currentCreateId], - m_OObjectTextBoldItalic[m_currentCreateId], - m_OObjectsColored[m_currentCreateId], + BufferManager::Get(m_bufferID)->Display(m_OObjectTextNormal, + m_OObjectTextBold, + m_OObjectTextItalic, + m_OObjectTextBoldItalic, + m_OObjectsColored, m_originScrooled.x, m_originScrooled.y, m_size.x, m_size.y); // set the current size of the windows SetMaxSize(BufferManager::Get(m_bufferID)->GetMaxSize()); @@ -169,7 +169,6 @@ void CodeView::OnRegenerateDisplay(void) // call the herited class... WidgetScrooled::OnRegenerateDisplay(); - m_needFlipFlop = true; } } diff --git a/jni/appl/Gui/CodeView.h b/jni/appl/Gui/CodeView.h index bb120d2..b87456c 100644 --- a/jni/appl/Gui/CodeView.h +++ b/jni/appl/Gui/CodeView.h @@ -56,11 +56,11 @@ class CodeView :public ewol::WidgetScrooled etk::VectorType > m_lineNumberList; void UpdateNumberOfLineReference(int32_t bufferID); // drawing elements : - ewol::OObject2DTextColored m_OObjectTextNormal[NB_BOUBLE_BUFFER]; - ewol::OObject2DTextColored m_OObjectTextBold[NB_BOUBLE_BUFFER]; - ewol::OObject2DTextColored m_OObjectTextItalic[NB_BOUBLE_BUFFER]; - ewol::OObject2DTextColored m_OObjectTextBoldItalic[NB_BOUBLE_BUFFER]; - ewol::OObject2DColored m_OObjectsColored[NB_BOUBLE_BUFFER]; + ewol::OObject2DTextColored m_OObjectTextNormal; + ewol::OObject2DTextColored m_OObjectTextBold; + ewol::OObject2DTextColored m_OObjectTextItalic; + ewol::OObject2DTextColored m_OObjectTextBoldItalic; + ewol::OObject2DColored m_OObjectsColored; public: virtual void OnRegenerateDisplay(void);