Cockatrice/libcockatrice_interfaces/libcockatrice/interfaces/interface_cards_display_settings_provider.h
BruebachL 404b0cdf28
[Game] Animate Arrows (#7099)
* Add an arrow draw animation setting

- New arrowDrawAnimation cards-display setting, default on
- The arrow draw animation checkbox joins the animation settings group
- Visual Deck Storage selection animation checkbox moves next to the
  other animation checkboxes, and the enable/disable-all buttons now
  cover it and the arrow animation

Took 2 minutes

Took 21 minutes

Took 7 minutes


Took 11 minutes

Took 20 seconds

* Animate arrows drawing from start to target

- The arrow stroke reveals itself along the arc with an eased timing,
  followed by a short light sheen that sweeps down the shaft
- The arrow head pops in once the reveal reaches it, then the whole
  arrow fades from its initial glow
- Decay is driven by GameScene's shared animation timer through the
  IAnimatedItem interface (QElapsedTimer based), respecting the
  arrowDrawAnimation setting
- GameScene adds the arrow item to the scene before starting its
  animation so the item is registered against a valid scene

Took 6 minutes


Took 1 minute

* Defer animation start so arrows don't start halfway materialized

Took 13 minutes

* Don't draw tip/shaft outline

Took 12 minutes

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-08-14 10:44:17 +02:00

31 lines
1.7 KiB
C++

#ifndef COCKATRICE_INTERFACE_CARDS_DISPLAY_SETTINGS_PROVIDER_H
#define COCKATRICE_INTERFACE_CARDS_DISPLAY_SETTINGS_PROVIDER_H
class ICardsDisplaySettingsProvider
{
public:
virtual ~ICardsDisplaySettingsProvider() = default;
[[nodiscard]] virtual bool getDisplayCardNames() const = 0;
[[nodiscard]] virtual bool getRoundCardCorners() const = 0;
[[nodiscard]] virtual bool getOverrideAllCardArtWithPersonalPreference() const = 0;
[[nodiscard]] virtual bool getBumpSetsWithCardsInDeckToTop() const = 0;
[[nodiscard]] virtual int getPrintingSelectorSortOrder() const = 0;
[[nodiscard]] virtual int getPrintingSelectorCardSize() const = 0;
[[nodiscard]] virtual bool getIncludeRebalancedCards() const = 0;
[[nodiscard]] virtual bool getPrintingSelectorNavigationButtonsVisible() const = 0;
[[nodiscard]] virtual bool getTapAnimation() const = 0;
[[nodiscard]] virtual bool getArrowDrawAnimation() const = 0;
[[nodiscard]] virtual bool getAutoRotateSidewaysLayoutCards() const = 0;
[[nodiscard]] virtual bool getScaleCards() const = 0;
[[nodiscard]] virtual int getStackCardOverlapPercent() const = 0;
[[nodiscard]] virtual int getCardInfoViewMode() const = 0;
[[nodiscard]] virtual int getVisualDeckStorageCardSize() const = 0;
[[nodiscard]] virtual int getVisualDatabaseDisplayCardSize() const = 0;
[[nodiscard]] virtual int getVisualDeckEditorCardSize() const = 0;
[[nodiscard]] virtual int getEDHRecCardSize() const = 0;
[[nodiscard]] virtual int getArchidektPreviewSize() const = 0;
[[nodiscard]] virtual int getSampleHandSize() const = 0;
};
#endif // COCKATRICE_INTERFACE_CARDS_DISPLAY_SETTINGS_PROVIDER_H