Updated: 25 min 39 sec ago
ScreenSaver: Add "No preview available" text ... when a screensaver doesn't provide a preview. Also do a bit of refactoring in PreviewView, remove unneeded includes
ScreenSaver: Refactor ModulesView Create controls in initializer list of constructor, delete controls in the (newly-added) destructor. Make fSettings the first private member.
app_server: Fixed issues in Painter. * DrawPolygon was offsetting coords to pixel centers regardless of whether the polygon was stroked or filled, leading to wrong results for filling. Now it offsets for stroking only and even takes pen-size into acount. The bug was visible in Gobe Productive's selection rendering. * Renamed _Transform() methods to _Align(), which fits better with what they do: Align coordinates with the pixel grid. * Changed rounding behavior for StrokeLine. Offsetting to pixel centers depending on pen-size happens regardless of sub-pixel mode. This means a stroked line on integer coordinates looks the same in both modes. It breaks some drawing in WonderBrush (brush cursor), which was exploiting the previous behavior, but unbreaks Gobe Productive caret rendering at zoom levels below 150%. Both changes bring Gobe Productive text editing to a useable level.
app_server: Fixed build with tracing enabled.
Fix AMD CPU selection in generic_x86 kernel add-on * The AMD-part of the add-on is supposed to reject some very old models. However, a bug in the selection code caused it to reject anything with model-number smaller 9 regardless of model-family. This caused MTRR setup to not happen on many AMD CPUs and Haiku being very slow on these machines. * Fixes #10571
ARM: Name beagleboneblk back to beagle * Pulkomandy pointed out that all Beagle hardware is very similar so we could likely get away with a single ARM target board.
radeon_hd: Fix app_server bt regression introduced at hrev46862 * We adjusted the array of pointers to be larger, but didn't adjust the malloc to be larger. * Should solve #10563 and maybe #10536
ARM: Fix dmb opcode 2 on ARMv6 * Typo, also fix tabs * Sorry for the spam, this should be correct now
ARM: Break apart ARMv5 and older dsb/dmb * Add isb just because. * pdziepak pointed out that ARMv5 and before had different barrier support. * pdziepak also mentioned that dsb was too strong for __sync_synchronize
ARM: Add ARMv6 or older __sync_synchronize built-in * On ARMv6 or older, we do a simulated dsb. * Move __sync_synchronize into thread.c in libroot and use the new arch_atomic.h dsb/dmb defines. * Gets arm @bootstrap-raw to end of bootstrap.
test app_server: Fix build & add font spacing test.
app_server: Fixed B_CHAR_SPACING mode. Since fonts are cached with a precision of one digit after the decimal point for the font size, the char spacing values needs to be more precise. They are now in font face units and scaled by the font size during layout. This yields the expected results of the text positioning scaling smoothly along the base line, even though the actual (hinted) glyph shape does not change with each small change of the scale (or font size).
app_server: Implemented support for B_CHAR_SPACING. It doesn't yield quiet the expected results, yet. When hinting is turned on, FontEngine takes a measurement of the precise advance values for each cached glyph by invoking FT_Load_Glyph() with the FT_LOAD_NO_HINTING flag, before loading the glyph for real without that flag. In GlyphLayoutEngine.h, the precise advance value is used for B_CHAR_SPACING. The intended result is that glyphs are rendered hinted (according to global Appearance settings), but spaced along the base-line with precise, unhinted advance values. An application would use this for example to implement precise page or print preview and also for zooming text without altering the placement of glyphs. For Gobe Productive, problems can be observed, because we don't implement this correctly, yet.
app_server: Fix applying current scale when font changes. * The code path actually used when the client uses BView::SetFont() is DrawState::ReadFontFromLink(), where it forgot to a) adopt the original font size in fUnscaledFontSize and b) scale the font by the current combined scale. Fixes remaining part of #10578.
TabDecorator: Move tracing output into tracing statement...
Font: Work on support for spacing modes. * Change default spacing to B_BITMAP_SPACING. The BeBook does not document what the default spacing is, and I have no BeOS install handy to check. However, I believe that B_BITMAP_SPACING is what should be the default, since it gives the best visible result for the common use-case. In terms of implementation, there is no change, since spacing was ignored until now and the behavior was that of B_BITMAP_SPACING. This change could however break BeOS apps which assume B_CHAR_SPACING is the default and don't set it on new when they need it. Sample code in the BeBook however shows setting B_CHAR_SPACING on a newly created BFont. * Implement B_STRING_SPACING to do something sensible. The BeBook documentation is completely vague in what it is actually supposed to do. Given the possibilities of FreeType, I am implementing it to enable the use of kerning. Kerning optimizes the spacing between two glyphs, for example, it would decrease the spacing between "T" and "e" in the string "Test" for our default font. Untested.
Font.cpp: Style cleanup * Unify asterisk style * switch indentation style of FontList declaration * Order FontList methods according to declaration * Use named constants in default BFont constructor for spacing and encoding.
ARM: Simplify board specification * Don't assume verdex as it isn't clear this was occurring. * Make an educated guess on HAIKU_BOOT_PLATFORM based on provided board (but still allow it to be overridden) * Error out if user doesn't populate HAIKU_BOOT_PLATFORM or enters an unknown board name. * You need to add "-sHAIKU_BOOT_BOARD=xxx" to your jam to build for the proper ARM device. * Rename beagle to beagleboneblk as per the documentation.
Fix missing break statement (CID #1108253)