mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-11 03:19:56 +00:00
* Profile adaption - Fix arrow keys section including Page Down - The arrow keys keyboard section now starts at Arrow Up instead of the key before it (Page Down) - Updated the keyboard section test to expect only the four arrow keys * Color quantizer - Let fully saturated colors be vibrant and grays be muted - The saturation limits of the color types are now inclusive, so 100% saturated colors count as vibrant and 0% saturated colors count as muted - The lightness limits stay exclusive so pure black and white are still left out - Updated the quantizer tests to match * Color gradients - Fix stop placement, seamless toggling and list events - Stops on an occupied position now move down 0.001 instead of 0.002 (rounding error in the distance check) - Flip, rotate, spread and interpolate move all stops together, so a stop can take a position another stop is leaving - Spreading or randomizing a single stop puts it at 0 instead of NaN - ToggleSeamless does nothing on an empty gradient and caps stretched stops at 1 instead of 100 - RemoveAt reports the removed stop and its index - Insert links the stop like Add does and raises the add before the move - Remove, RemoveAt, Clear and replacing a stop through the indexer unlink and stop listening to the actual removed stop - Copying from a list of stops sorts them by position - Obsolete GetPositionsArray no longer skips the seamless positions, obsolete GetColor picks the right colors after a repeat - Updated the gradient tests to match * Core - Fix small color, enum, string and type utility bugs - Darken keeps the alpha of the color - GetAllValuesAndDescriptions(Type) uses the [Description] attribute like the generic version - UrlFriendly cuts titles at 80 characters instead of 81 - RemapInternationalCharToAscii knows both cases of r, l, d, thorn, sharp s, h and j with accents - IsGenericType returns false instead of throwing when the base type is not generic - IsCastableFrom also finds conversion operators declared on the target type - GetDisplayName keeps the brackets of array types when humanizing - Updated the utility tests to match