History log of /haiku/src/preferences/screensaver/ScreenSaverWindow.h
Revision Date Author Comments
# c8bd18f2 14-Aug-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Make ScreenSaver preferences work again.

This reverts 0fb019bbf21e791ae1f7644652fea3697b3f3d9f. Making the window
a BDirectWindow isn't a good idea, especially if you want things other
than a direct rendering view in it. Moreover, this is completely
unneeded as GL works just as well in non-direct mode.


# 00d9a29e 28-Feb-2014 John Scipione <jscipione@gmail.com>

ScreenSaver: Stop saver on General tab.

Unfortunately OpenGL screen saver previews draw on top of the tabview,
so, when you switch to the General tab we now stop the screen saver
and then restart it when you come back to the Screensavers tab.


# 0fb019bb 23-Feb-2014 John Scipione <jscipione@gmail.com>

Screensaver: Convert Screensaver to a BDirectWindow

This allows OpenGL screensavers to be able to show a preview.


# d34a680c 14-Nov-2013 John Scipione <jscipione@gmail.com>

Screen Saver: fix race condition

Start the screensaver in the window thread instead of the runner
thread so that there is no lock contention for the window lock in
the runner thread when the saver starts.

The view that gets drawn into is assumed to have been prepared before
being passed to the runner thread, and this assumption has been made
true for the screensaver preview and screen_blanker apps.

Eliminate fHasStarted and the corresponding HasStarted() method in
ScreenSaverRunner as they are no longer needed.

Drawing still happens in the runner thread, and still needs to lock
the window thread potentially causing contention, yet, there
is a timeout here so the contention won't freeze the screensaver window,
only delay drawing the screensaver.

Drawing could be moved to the window thread via message passing to avoid
lock contention with the window but this would defeat a big part of the
purpose of having a separate rendering thread.

This fixes #10125 and #4260


# e22c01af 14-Nov-2013 John Scipione <jscipione@gmail.com>

Screen Saver: style fixes


# 709172a0 02-Sep-2013 John Scipione <jscipione@gmail.com>

ScreenSaver: Convert to layout APIs

This allows the ScreenSaver window grow and shrink based on your
font size and translations.

Minimum is 446 px x 325 px so that there is enough space to accommodate
screen savers designed for BeOS.

Should fix #7369 and help #7332 a bit.

Margins go right to the edge now which prevents the tab view from looking
as liney.

Password window has also been converted to use the layout APIs, also,
the window now pops up in the center of the main ScreenSaver window.

The fade translations will have to be redone unfortunately, but it should be
easy as it is the concatenation of the previous strings.


# 23ca081a 02-Sep-2013 John Scipione <jscipione@gmail.com>

ScreenSaver: Style fixes

Update Copyright year and fix authors adding myself.
Mostly spacing and indentation fixes.


# edda6e98 16-Feb-2011 Philippe Houdoin <philippe.houdoin@gmail.com>

Tell user why Turn Off feature is not available.
Close #3274.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40530 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 79c273ae 30-Jun-2010 Axel Dörfler <axeld@pinc-software.de>

* Some cleanup, no functional change.
* Looks like this is neither using the layout engine nor has it been localized
yet!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37313 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7ebabb86 15-Oct-2007 Jérôme Duval <korli@users.berlios.de>

more on gcc4 build fix


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22580 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 41158aaf 06-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* Renamed the ScreenSaverPrefs class to the more Be-like ScreenSaverSettings.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17755 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5d74f3c1 07-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

Renamed MouseAreaView to ScreenCornerSelector.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17752 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4da6b5c3 07-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* The screen corner selection view now follow the window bottom.
* Some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17751 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9bf8dbc8 06-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* First baby steps to a font sensitive GUI. The window now adapts its size
to the demands of the screen saver settings.
* At least temporarily, the window is also resizable; we'll see how well
that turns out.
* The PreviewView did not have a black border around the preview.
* You can now switch again from Blackness to another saver directly...
* The turn off screen timeout is stored relative to the blanking time.
* The list now scrolls to the selection whenever the tab is shown.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17743 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cae4a1e 06-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* Big time cleanup of the screen saver stuff, not yet finished yet, though.
Renamed lots of things, like ScreenSaverThread to ScreenSaverRunner,
refactored code, etc. Much cleaner interfaces and code.
* Fixed a couple of bugs and in the add-on handling, especially some settings
related bugs (ie. testing a screen saver will now use its latest settings,
etc.).
* Correctly implemented DPMS support in ScreenSaverPrefs and the ScreenSaver
preferences application - screen_blanker still ignores them, though.
* It's not yet font sensitive either.
* Changed the input_server add-on to not switch to the screen blanker immediately
when it's in the "blank corner" - doesn't seem to work yet, though (only tested
under Qemu).
* Correctly implemented the "preview" function (before, a screen saver would
never know it rendered a preview).
* Evaluates the return value of BScreenSaver::StartSaver().
* The screen saver thread is no longer killed without notice - it's now
always shut down properly.
* Made the code more robust against failure.
* Introduced some new bugs as well (the screen saver list view doesn't jump to
the selection anymore, for some reason), those will be fixed later (as the
remaining issues).
* Probably some more I forgot about.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17731 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 79a3f78f 15-Jan-2006 Jérôme Duval <korli@users.berlios.de>

fixes build for beos


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15958 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ae4f2186 02-Sep-2005 Jérôme Duval <korli@users.berlios.de>

we now save the settings when test button is clicked
tabs are reworked to avoid data loss


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14105 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 12e1daa3 24-Aug-2005 Jérôme Duval <korli@users.berlios.de>

copyright update


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14059 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1437c09c 31-Jul-2005 Jérôme Duval <korli@users.berlios.de>

screen_blanker signature is at one place
modules tab selection makes the right module selected


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13863 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e3d946e5 29-Jul-2005 Jérôme Duval <korli@users.berlios.de>

cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13850 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c566b092 29-Jul-2005 Jérôme Duval <korli@users.berlios.de>

added license headers
changed the way prefs is stored, so that we have default settings
general cleanup
time sliders are now linked together as on R5
password window is centered onscreen


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13849 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 66dee31a 26-Jul-2005 Jérôme Duval <korli@users.berlios.de>

clean up, style change, unused files are removed
added ScreenSaver.cpp to ScreenSaver preferences to have Matrix working


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13828 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a10cf76e 24-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed src/prefs to "preferences", as the directory is usually called in BeOS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13263 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c8bd18f21fd3113231ea30fb77afc53c68db738f 14-Aug-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Make ScreenSaver preferences work again.

This reverts 0fb019bbf21e791ae1f7644652fea3697b3f3d9f. Making the window
a BDirectWindow isn't a good idea, especially if you want things other
than a direct rendering view in it. Moreover, this is completely
unneeded as GL works just as well in non-direct mode.


# 00d9a29e2e4e138b93b891fa277b05cbd2b2365c 28-Feb-2014 John Scipione <jscipione@gmail.com>

ScreenSaver: Stop saver on General tab.

Unfortunately OpenGL screen saver previews draw on top of the tabview,
so, when you switch to the General tab we now stop the screen saver
and then restart it when you come back to the Screensavers tab.


# 0fb019bbf21e791ae1f7644652fea3697b3f3d9f 23-Feb-2014 John Scipione <jscipione@gmail.com>

Screensaver: Convert Screensaver to a BDirectWindow

This allows OpenGL screensavers to be able to show a preview.


# d34a680c043c72bae01662cc730ca81cb4cd2615 14-Nov-2013 John Scipione <jscipione@gmail.com>

Screen Saver: fix race condition

Start the screensaver in the window thread instead of the runner
thread so that there is no lock contention for the window lock in
the runner thread when the saver starts.

The view that gets drawn into is assumed to have been prepared before
being passed to the runner thread, and this assumption has been made
true for the screensaver preview and screen_blanker apps.

Eliminate fHasStarted and the corresponding HasStarted() method in
ScreenSaverRunner as they are no longer needed.

Drawing still happens in the runner thread, and still needs to lock
the window thread potentially causing contention, yet, there
is a timeout here so the contention won't freeze the screensaver window,
only delay drawing the screensaver.

Drawing could be moved to the window thread via message passing to avoid
lock contention with the window but this would defeat a big part of the
purpose of having a separate rendering thread.

This fixes #10125 and #4260


# e22c01af030d33e53e6bbde56e331dd8cd7de097 14-Nov-2013 John Scipione <jscipione@gmail.com>

Screen Saver: style fixes


# 709172a02dc508c50435ab891ed4d11c7323fe47 02-Sep-2013 John Scipione <jscipione@gmail.com>

ScreenSaver: Convert to layout APIs

This allows the ScreenSaver window grow and shrink based on your
font size and translations.

Minimum is 446 px x 325 px so that there is enough space to accommodate
screen savers designed for BeOS.

Should fix #7369 and help #7332 a bit.

Margins go right to the edge now which prevents the tab view from looking
as liney.

Password window has also been converted to use the layout APIs, also,
the window now pops up in the center of the main ScreenSaver window.

The fade translations will have to be redone unfortunately, but it should be
easy as it is the concatenation of the previous strings.


# 23ca081a2fdb4375b4a60e7dd28d1e07029aae5c 02-Sep-2013 John Scipione <jscipione@gmail.com>

ScreenSaver: Style fixes

Update Copyright year and fix authors adding myself.
Mostly spacing and indentation fixes.


# edda6e98b92fcdff3fd157d06e7cc37f7ab86416 16-Feb-2011 Philippe Houdoin <philippe.houdoin@gmail.com>

Tell user why Turn Off feature is not available.
Close #3274.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40530 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 79c273aee80b09564da0d2167342e60b14bda473 30-Jun-2010 Axel Dörfler <axeld@pinc-software.de>

* Some cleanup, no functional change.
* Looks like this is neither using the layout engine nor has it been localized
yet!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37313 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7ebabb8644d955041e7b4cb9a51629cb5a6071ca 15-Oct-2007 Jérôme Duval <korli@users.berlios.de>

more on gcc4 build fix


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22580 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 41158aaf918229a36e911666a32573bb633196ea 06-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* Renamed the ScreenSaverPrefs class to the more Be-like ScreenSaverSettings.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17755 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5d74f3c143cdb00fa20fb4c41785ee5b83c49731 07-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

Renamed MouseAreaView to ScreenCornerSelector.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17752 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4da6b5c3284004fd85949c90ebf0124ac9c87b16 07-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* The screen corner selection view now follow the window bottom.
* Some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17751 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9bf8dbc8290a520b6f7c09ec2c93e4f9a746ab8a 06-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* First baby steps to a font sensitive GUI. The window now adapts its size
to the demands of the screen saver settings.
* At least temporarily, the window is also resizable; we'll see how well
that turns out.
* The PreviewView did not have a black border around the preview.
* You can now switch again from Blackness to another saver directly...
* The turn off screen timeout is stored relative to the blanking time.
* The list now scrolls to the selection whenever the tab is shown.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17743 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cae4a1ee0a7e8f1214e6fa410efe9f5a0c7cecb 06-Jun-2006 Axel Dörfler <axeld@pinc-software.de>

* Big time cleanup of the screen saver stuff, not yet finished yet, though.
Renamed lots of things, like ScreenSaverThread to ScreenSaverRunner,
refactored code, etc. Much cleaner interfaces and code.
* Fixed a couple of bugs and in the add-on handling, especially some settings
related bugs (ie. testing a screen saver will now use its latest settings,
etc.).
* Correctly implemented DPMS support in ScreenSaverPrefs and the ScreenSaver
preferences application - screen_blanker still ignores them, though.
* It's not yet font sensitive either.
* Changed the input_server add-on to not switch to the screen blanker immediately
when it's in the "blank corner" - doesn't seem to work yet, though (only tested
under Qemu).
* Correctly implemented the "preview" function (before, a screen saver would
never know it rendered a preview).
* Evaluates the return value of BScreenSaver::StartSaver().
* The screen saver thread is no longer killed without notice - it's now
always shut down properly.
* Made the code more robust against failure.
* Introduced some new bugs as well (the screen saver list view doesn't jump to
the selection anymore, for some reason), those will be fixed later (as the
remaining issues).
* Probably some more I forgot about.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17731 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 79a3f78fb557194d2d63108dc2707bfe12fe48aa 15-Jan-2006 Jérôme Duval <korli@users.berlios.de>

fixes build for beos


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15958 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ae4f21862f69ea6ebeec783a25773d765fae81eb 02-Sep-2005 Jérôme Duval <korli@users.berlios.de>

we now save the settings when test button is clicked
tabs are reworked to avoid data loss


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14105 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 12e1daa3ccb72c770d1da51d9b4eb765b4c7d143 24-Aug-2005 Jérôme Duval <korli@users.berlios.de>

copyright update


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14059 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1437c09cb727368f7808a087b35fc0454d6ae5e4 31-Jul-2005 Jérôme Duval <korli@users.berlios.de>

screen_blanker signature is at one place
modules tab selection makes the right module selected


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13863 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e3d946e533af646536ae298ba48a398b8faf2bfd 29-Jul-2005 Jérôme Duval <korli@users.berlios.de>

cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13850 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c566b0927df4d8a754b8033bbd43e3df91b406f6 29-Jul-2005 Jérôme Duval <korli@users.berlios.de>

added license headers
changed the way prefs is stored, so that we have default settings
general cleanup
time sliders are now linked together as on R5
password window is centered onscreen


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13849 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 66dee31a87a5ff18862fa2ae1ba17544585c5dad 26-Jul-2005 Jérôme Duval <korli@users.berlios.de>

clean up, style change, unused files are removed
added ScreenSaver.cpp to ScreenSaver preferences to have Matrix working


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13828 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a10cf76ef5b9e8c726ebc47183abd6943023cf8f 24-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed src/prefs to "preferences", as the directory is usually called in BeOS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13263 a95241bf-73f2-0310-859d-f6bbb57e9c96