Kaydet (Commit) b3f78806 authored tarafından Michael Meeks's avatar Michael Meeks

OpenGL options: clarify setting descriptions, and provide a live status.

Hopefully this will un-confuse users about whether GL is enabled; the
settings only take effect on re-start, so show a current status line too.

Change-Id: I82832fd8d35bc76ab2cf1f394f11a881fde80774
Reviewed-on: https://gerrit.libreoffice.org/19790Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarMichael Meeks <michael.meeks@collabora.com>
üst 87f0fa6b
...@@ -635,6 +635,8 @@ OfaViewTabPage::OfaViewTabPage(vcl::Window* pParent, const SfxItemSet& rSet) ...@@ -635,6 +635,8 @@ OfaViewTabPage::OfaViewTabPage(vcl::Window* pParent, const SfxItemSet& rSet)
get(m_pUseAntiAliase, "useaa"); get(m_pUseAntiAliase, "useaa");
get(m_pUseOpenGL, "useopengl"); get(m_pUseOpenGL, "useopengl");
get(m_pForceOpenGL, "forceopengl"); get(m_pForceOpenGL, "forceopengl");
get(m_pOpenGLStatusEnabled, "openglenabled");
get(m_pOpenGLStatusDisabled, "opengldisabled");
get(m_pMousePosLB, "mousepos"); get(m_pMousePosLB, "mousepos");
get(m_pMouseMiddleLB, "mousemiddle"); get(m_pMouseMiddleLB, "mousemiddle");
...@@ -676,6 +678,8 @@ OfaViewTabPage::OfaViewTabPage(vcl::Window* pParent, const SfxItemSet& rSet) ...@@ -676,6 +678,8 @@ OfaViewTabPage::OfaViewTabPage(vcl::Window* pParent, const SfxItemSet& rSet)
m_pUseOpenGL->Enable(false); m_pUseOpenGL->Enable(false);
if (officecfg::Office::Common::VCL::ForceOpenGL::isReadOnly()) if (officecfg::Office::Common::VCL::ForceOpenGL::isReadOnly())
m_pForceOpenGL->Enable(false); m_pForceOpenGL->Enable(false);
UpdateOGLStatus();
} }
OfaViewTabPage::~OfaViewTabPage() OfaViewTabPage::~OfaViewTabPage()
...@@ -703,6 +707,8 @@ void OfaViewTabPage::dispose() ...@@ -703,6 +707,8 @@ void OfaViewTabPage::dispose()
m_pUseAntiAliase.clear(); m_pUseAntiAliase.clear();
m_pUseOpenGL.clear(); m_pUseOpenGL.clear();
m_pForceOpenGL.clear(); m_pForceOpenGL.clear();
m_pOpenGLStatusEnabled.clear();
m_pOpenGLStatusDisabled.clear();
m_pMousePosLB.clear(); m_pMousePosLB.clear();
m_pMouseMiddleLB.clear(); m_pMouseMiddleLB.clear();
SfxTabPage::dispose(); SfxTabPage::dispose();
...@@ -972,6 +978,14 @@ void OfaViewTabPage::Reset( const SfxItemSet* ) ...@@ -972,6 +978,14 @@ void OfaViewTabPage::Reset( const SfxItemSet* )
#endif #endif
} }
void OfaViewTabPage::UpdateOGLStatus()
{
// Easier than a custom translation string.
bool bEnabled = OpenGLWrapper::isVCLOpenGLEnabled();
m_pOpenGLStatusEnabled->Show(bEnabled);
m_pOpenGLStatusDisabled->Show(!bEnabled);
}
struct LanguageConfig_Impl struct LanguageConfig_Impl
{ {
SvtLanguageOptions aLanguageOptions; SvtLanguageOptions aLanguageOptions;
......
...@@ -97,6 +97,9 @@ private: ...@@ -97,6 +97,9 @@ private:
VclPtr<CheckBox> m_pUseOpenGL; VclPtr<CheckBox> m_pUseOpenGL;
VclPtr<CheckBox> m_pForceOpenGL; VclPtr<CheckBox> m_pForceOpenGL;
VclPtr<FixedText> m_pOpenGLStatusEnabled;
VclPtr<FixedText> m_pOpenGLStatusDisabled;
VclPtr<ListBox> m_pMousePosLB; VclPtr<ListBox> m_pMousePosLB;
VclPtr<ListBox> m_pMouseMiddleLB; VclPtr<ListBox> m_pMouseMiddleLB;
...@@ -113,6 +116,7 @@ private: ...@@ -113,6 +116,7 @@ private:
#if defined( UNX ) #if defined( UNX )
DECL_LINK_TYPED( OnAntialiasingToggled, CheckBox&, void ); DECL_LINK_TYPED( OnAntialiasingToggled, CheckBox&, void );
#endif #endif
void UpdateOGLStatus();
public: public:
OfaViewTabPage( vcl::Window* pParent, const SfxItemSet& rSet ); OfaViewTabPage( vcl::Window* pParent, const SfxItemSet& rSet );
......
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
</child> </child>
<child> <child>
<object class="GtkCheckButton" id="useopengl"> <object class="GtkCheckButton" id="useopengl">
<property name="label" translatable="yes">Use OpenGL for all rendering</property> <property name="label" translatable="yes">Use OpenGL for all rendering (on restart)</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="receives_default">False</property> <property name="receives_default">False</property>
...@@ -104,7 +104,7 @@ ...@@ -104,7 +104,7 @@
</child> </child>
<child> <child>
<object class="GtkCheckButton" id="forceopengl"> <object class="GtkCheckButton" id="forceopengl">
<property name="label" translatable="yes">Force OpenGL even if blacklisted</property> <property name="label" translatable="yes">Force OpenGL even if blacklisted (on restart)</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="receives_default">False</property> <property name="receives_default">False</property>
...@@ -119,6 +119,34 @@ ...@@ -119,6 +119,34 @@
<property name="height">1</property> <property name="height">1</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkLabel" id="openglenabled">
<property name="visible">Galse</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Current GL status: Enabled</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="opengldisabled">
<property name="visible">False</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Current GL status: Disabled</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">5</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object> </object>
</child> </child>
</object> </object>
......
...@@ -666,7 +666,7 @@ void OutputDevice::DrawDeviceAlphaBitmap( const Bitmap& rBmp, const AlphaMask& r ...@@ -666,7 +666,7 @@ void OutputDevice::DrawDeviceAlphaBitmap( const Bitmap& rBmp, const AlphaMask& r
SalBitmap* pSalSrcBmp = rBmp.ImplGetImpBitmap()->ImplGetSalBitmap(); SalBitmap* pSalSrcBmp = rBmp.ImplGetImpBitmap()->ImplGetSalBitmap();
SalBitmap* pSalAlphaBmp = rAlpha.ImplGetImpBitmap()->ImplGetSalBitmap(); SalBitmap* pSalAlphaBmp = rAlpha.ImplGetImpBitmap()->ImplGetSalBitmap();
// try the blen the alpha bitmap with the alpha virtual device // try to blend the alpha bitmap with the alpha virtual device
if (mpAlphaVDev) if (mpAlphaVDev)
{ {
Bitmap aAlphaBitmap( mpAlphaVDev->GetBitmap( aRelPt, aOutSz ) ); Bitmap aAlphaBitmap( mpAlphaVDev->GetBitmap( aRelPt, aOutSz ) );
......
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