.. _program_listing_file_src_cue_cuehandler.h: Program Listing for File cuehandler.h ===================================== |exhale_lsh| :ref:`Return to documentation for file ` (``src/cue/cuehandler.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /* * CueHandler - Base class for mapping Cues to PixelMaestro actions. */ #ifndef CUEHANDLER_H #define CUEHANDLER_H #include #include "../core/palette.h" #include "../core/section.h" #include "cuecontroller.h" namespace PixelMaestro { class CueController; class CueHandler { public: explicit CueHandler(CueController& controller); virtual ~CueHandler() { } virtual void run(uint8_t* cue) = 0; protected: CueController& controller_; void add_float_to_cue(uint32_t& index, float value); void add_uint16_to_cue(uint32_t& index, uint16_t value); void add_uint32_to_cue(uint32_t& index, uint32_t value); Section* get_section(uint8_t section_id, uint8_t layer_id) const; Palette* deserialize_palette(const uint8_t* cue, uint8_t num_colors); uint16_t serialize_palette(uint8_t cue[], const Palette& palette); uint32_t start_cue(uint8_t handler_byte, uint8_t action_byte); uint32_t start_cue(uint8_t handler_byte, uint8_t action_byte, uint8_t section_num, uint8_t layer_num); }; } #endif // CUEHANDLER_H