Cockatrice/libcockatrice_interfaces/libcockatrice/interfaces/interface_interface_settings_provider.h
BruebachL 9d26e07165
[Game] Animate life counter manipulation (#7100)
* Add animations toggles for the life counter and battlefield

Per-effect toggles plus Enable/Disable-all buttons: a life-counter
flash on loss and a crimson battlefield shimmer on damage.


Took 24 seconds

* Animate life changes with a counter flash and battlefield shimmer

- Life loss/gain pulses the player life counter with a brief flash
- The battlefield table zone shimmers crimson on damage
- Respects the per-effect animation toggles

Both effects drive their decay from GameScene's shared animation timer
through the IAnimatedItem interface (QElapsedTimer based), instead of
owning per-item QTimers.

Took 8 minutes

* Revert unintentional cherry picks

Took 2 minutes

* Lambda to re-use path calculation.

Took 8 minutes

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-08-13 19:12:12 +02:00

46 lines
2.5 KiB
C++

#ifndef COCKATRICE_INTERFACE_INTERFACE_SETTINGS_PROVIDER_H
#define COCKATRICE_INTERFACE_INTERFACE_SETTINGS_PROVIDER_H
#include <QString>
class IInterfaceSettingsProvider
{
public:
virtual ~IInterfaceSettingsProvider() = default;
[[nodiscard]] virtual bool getUseTearOffMenus() const = 0;
[[nodiscard]] virtual int getCardViewInitialRowsMax() const = 0;
[[nodiscard]] virtual int getCardViewExpandedRowsMax() const = 0;
[[nodiscard]] virtual bool getCloseEmptyCardView() const = 0;
[[nodiscard]] virtual bool getFocusCardViewSearchBar() const = 0;
[[nodiscard]] virtual bool getKeepGameChatFocus() const = 0;
[[nodiscard]] virtual bool getNotificationsEnabled() const = 0;
[[nodiscard]] virtual bool getSpectatorNotificationsEnabled() const = 0;
[[nodiscard]] virtual bool getBuddyConnectNotificationsEnabled() const = 0;
[[nodiscard]] virtual bool getDoubleClickToPlay() const = 0;
[[nodiscard]] virtual bool getClickPlaysAllSelected() const = 0;
[[nodiscard]] virtual bool getPlayToStack() const = 0;
[[nodiscard]] virtual bool getDoNotDeleteArrowsInSubPhases() const = 0;
[[nodiscard]] virtual int getStartingHandSize() const = 0;
[[nodiscard]] virtual bool getAnnotateTokens() const = 0;
[[nodiscard]] virtual bool getShowDragSelectionCount() const = 0;
[[nodiscard]] virtual bool getShowTotalSelectionCount() const = 0;
[[nodiscard]] virtual int getTallyType() const = 0;
[[nodiscard]] virtual bool getHorizontalHand() const = 0;
[[nodiscard]] virtual bool getInvertVerticalCoordinate() const = 0;
[[nodiscard]] virtual int getMinPlayersForMultiColumnLayout() const = 0;
[[nodiscard]] virtual int getRewindBufferingMs() const = 0;
[[nodiscard]] virtual qreal getFastForwardSpeed() const = 0;
[[nodiscard]] virtual bool getSkipEmptySections() const = 0;
[[nodiscard]] virtual bool getLeftJustified() const = 0;
[[nodiscard]] virtual int getZoneViewGroupByIndex() const = 0;
[[nodiscard]] virtual int getZoneViewSortByIndex() const = 0;
[[nodiscard]] virtual bool getZoneViewPileView() const = 0;
[[nodiscard]] virtual bool getShowStatusBar() const = 0;
[[nodiscard]] virtual bool getShowShortcuts() const = 0;
[[nodiscard]] virtual bool getShowGameSelectorFilterToolbar() const = 0;
[[nodiscard]] virtual bool getLifeCounterAnimationsEnabled() const = 0;
[[nodiscard]] virtual bool getBattlefieldFlashEnabled() const = 0;
};
#endif // COCKATRICE_INTERFACE_INTERFACE_SETTINGS_PROVIDER_H