Also, we are safe to enable direct mode now (it already was)
This is untested due to this screensaver currently crashing but it should
work once #10206 is fixed.
Remove obvious comment in DirectConnected
Now that this screensaver shows a preview, update the settings live
so that the display updates immediately.
Since this didn't work before this screensaver took a shortcut and only
updated the settings when the saver started.
Some other changes include:
* Update copyright header, add myself to the authors list.
* Convert Particle from using a BList to a BObjectList and remove casts.
* Use switch statement to set particle color that has a default case for blue.
* Initialize member variables to a default value in the constructor.
* Remove Constants.h, the remaining constants are in ConfigView.cpp
* Convert deprecated GroupLayoutBuilder to a LayoutBuilder template instance
* Convert GravitySource from a class to a struct since all members are public.
* Simplify realCount calculation to just a single left shift.
* A bunch of style fixes
- lots of whitespace fixes
- rename rect to frame in GravityView and ConfigView
- reorder the frame parameter first in GravityView and ConfigView
- curly brace goes on same line as class or struct declaration
This turned out to be a bigger change than I originally intended to make.
The previous method only queried application icons, not document icons.
Unfortunately, the app icons in the MIME DB are broken/not present.
IconsSaver only displays document icons for the time being.
Because of better error checking the garbled icons are filtered out though
at least.
Next step is to fix the application icons in the MIME DB.
Some other changes:
* Don't draw if the BBitmap was not filled out correctly
* Add Vincent Duvert to authors list, he's already in copyright
* Convert fVectorIcons from a BList to a BObjectList
* Put vector_icon struct in it’s own header (needed for above)
* Remove type param from vector_icon struct
* Bump max icon count to 300, hopefully this should be enough, 128
is too few for app and document icons in default install.
Iterate through each BFS volume and find vector icon data in apps
using a BFS query. Cap off at 128 total icons, we could get more if
desired. Default install comes with ~100 at present.
Make sure we have at least 20 icons (15 display at a time) before we
start drawing icons.
Rename VectorIcon to vector_icon and treat it like the POD struct that it is.
Also add a type_code parame to vector_icon that should be set to
B_VECTOR_ICON.
Some style fixes also included, e.g. turned defines into static const int32’s.
In the Draw() method check to make sure that the view is valid, is
connected to the window, that the window is locked, that the screen
is valid and that the BBitmap buffer is valid. This (hopefully) fixes the
last of the bugs experienced due to #4260.
It is not sufficient to just check that the view is valid to prevent the crash,
you must also check that it is connected to a window via Window() and
that the window is locked.
I was looking at the Leaves screensaver for reference and I noticed
this peculiarity. It saves a pointer to each slider control
just so that it can later read their values, but, the values are
already provided in the message in the be:value property, so just
use that instead.
* All packaging architecture dependent variables do now have a
respective suffix and are set up for each configured packaging
architecture, save for the kernel and boot loader variables, which
are still only set up for the primary architecture.
For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
and TARGET_LIBSTDC++ are set to the respective values for the primary
packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
multiple packaging architectures. Generally the respective targets are
(additionally) gristed with the packaging architecture. For libraries
the additional grist is usually omitted for the primary architecture
(e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
Jamfiles for targets built only for the primary architecture don't
need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
cross devel package as well as for libbe (untested).
* Reworked code style completely.
* Improved the behaviour of the particles.
* Made particles smaller (2,5x performance gain).
* Cleaned unnecessary includes.
* Tried improving performance with glCallList - performance dropped even more.
* Tried improving performance with glDrawArrays - no noticeable performance changes.
* A modified version of TriEdgeAI's original work.
* Cleaned up style problems
* Some virtual functions didn't mesh properly with
ones defined in the OpenGL kit (Draw for example)
* Wrote Jamfile
* Add missing include cstdlib for rand
* Not in image yet as it still needs gcc2 testing
* The HEADERS_DEPENDENCY isn't needed
for GLU as Mesa is a dependency and requires
GLU to build
* I actually didn't break the build,
we were however using the Mesa GLU headers
with the external GLU lib which could be bad
* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h
The renamed macros require adjustments to all external applications
using catalogs.
* rename BCatalogAddOn to BCatalogData, since it doesn't represent an
add-on, but rather the catalog data provided by an add-on
* move BCatalogData out of Catalog.{h,cpp} into its own header and
implementation file
* drop BCatalogData::MarkForTranslation() methods, they're not needed
* drop BCatalog::GetNoAutoCollectString() methods, they're not being
used anywhere
* cleanup the B_TRANSLATE_... macros somewhat
* add versions of the B_TRANSLATE_MARK_... macros that are meant to be
used in void context (when the string isn't being used by the program,
just meant to be picked up by collectcatkeys).
* adjust several apps to use B_TRANSLATE_MARK_..._VOID where needed
* adjust users of BCatalogAddOn accordingly
* Partial undo of hrev43864 - 3dmov
I was using an old GL renderer. After my indirect
GL fix, this started working well without direct
rendering. (sorry for the spam)
* Clean up the other GL DirectConnected functions
Make it easy for know what to disable to toggle
Direct Rendering.
* Call different functions depending on Mesa version
* The --no-warnings is for the GL headers which produce
large numbers of attribute directive ignored warnings
that cannot be disabled on gcc2
* The about-like screen saver info has bold styling of heading part
of the information string string. Localizing this string has
provoked partial styling and visual "corruption-looking" glitches.
virtual but only static methods, it is not so likely that binary compatibility issues may arrise
from using it in new apps. Adjusted all the Jamfiles that included the private libicon headers. Note
that it was never necessary to link against libicon.a, since it's part of libbe anyway. There was one
instance where that was done. Hopefully it does not break the build, but I did this change a while ago,
tested it and then the harddrive began failing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40679 a95241bf-73f2-0310-859d-f6bbb57e9c96
specifier to float constants. Hopefully I'm done with this now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40110 a95241bf-73f2-0310-859d-f6bbb57e9c96
Butterfly by Geoffry Song.
Leaves by Deyan Genovski and Geoffry Song.
Thanks guys!
I fixed a few coding violations and wrote the Jamfiles.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40098 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Extended BTime, BDate and BDateTime with archiving functionality.
* Adjusted code which uses these classes, since including DateTime.h
already imports the classes from the BPrivate namespace.
* Moved DateTime.h into Support Kit. It is still in the BPrivate namespace,
as I am uncertain what to do with time_type and diff_type. I'd favor
moving the constants into the classes itself. Possibly removing the B_
prefix from them. Feedback welcome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35772 a95241bf-73f2-0310-859d-f6bbb57e9c96
Changed strings in add-ons to sentence case. This is case-add-ons.diff
from #5169.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35046 a95241bf-73f2-0310-859d-f6bbb57e9c96
- The text was not centered because it was not taking into account the left
offset of the text rendering, which can be gotten from the left value of the
rect returned by GetBoundingBoxesForStrings. I'm pretty sure this was 0 on
BeOS, so there might be problems with our GetBoundingBoxesForStrings. It
doesn't make sense for flat edged glyphs like D and N to be offset. But
nonetheless taking into account that left offset centers the text in this
screensaver. This fixes#4261.
- The text rendering also could look weird because the low color was not set to
blue. Again I'm pretty sure this was not a problem on BeOS, but could be
related to the new subpixel AA rendering. Setting the low color fixes this
and therefore fixes#4252.
- To avoid any weird repaint issues in the ScreenSaver preferences preview
view, the whole background is painted every frame now.
- I also added an escapement_delta member which is used for both the
GetBoundingBoxesForStrings call and the eventual text rendering. This may be
pointless, but it is probably more consistent.
Other changes:
- This now makes use of the new settings view private function.
- I made the coding style compliant with our latest guidelines (I think I got
most of the big ones at least.)
- Removed the references to the old BeOS screen saver kit stuff from the
Jamfile.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33404 a95241bf-73f2-0310-859d-f6bbb57e9c96
* add to build but not to the image since
- misses some configuration stuff
- does not look as good as it could be because of missing double buffering
- does crash screen_blanker on hide (as all GL screensaver did that i tested)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29718 a95241bf-73f2-0310-859d-f6bbb57e9c96
little rounded box on the bottom with the full message in it.
Given that currently this version only uses fortune to get it's message this
allows maximum enjoyment of the little anecdotes and jokes provided by fortune.
Though after testing this 60+ times today I'm starting to get sick of fortunes.
I've implemented everything myself here, including breaking the string up on
newlines and drawing each line of text with the right vertical spacing. I
suppose some clever use of BTextView would have been better. But this works
fine and wasn't that much code.
I'm not sure if this was the most productive use of the last 5 hours, but I
learned quite a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21347 a95241bf-73f2-0310-859d-f6bbb57e9c96
* use B_OP_OVER in order to do anti-aliasing with the real background
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21275 a95241bf-73f2-0310-859d-f6bbb57e9c96
shuffled "isExecutable" to the end. The new order favors the common use
cases. Adjusted all Addon invocations and while at it also removed
separate LinkAgainst invocations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20604 a95241bf-73f2-0310-859d-f6bbb57e9c96
by Jon Watte.
This was a tough but interesting problem. My version still isn't quite as nice
as his. I think the color generation could be improved, and I KNOW the x and y
placement of the text could be improved.
I also think it would be nice to display the full message at the bottom of the
screen (similar to ShowImage showing the file type and name in full screen
mode.)
But this is a good base to work from.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20035 a95241bf-73f2-0310-859d-f6bbb57e9c96
I'm considered splashing it up a bit by adding parameters for colors, etc, but
this will make a good baseline.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20005 a95241bf-73f2-0310-859d-f6bbb57e9c96