Libmacro  0.2
Libmacro is an extensible macro and hotkey library.
abs_key_dispatcher.h File Reference
#include "mcr/standard/key.h"

Go to the source code of this file.

Classes

struct  mcr_AbsKeyDispatcher
 

Functions

MCR_API void mcr_AbsKeyDispatcher_ctor (struct mcr_AbsKeyDispatcher *keyDispatcherPt, struct mcr_context *ctx, void(*deinit)(struct mcr_IDispatcher *), mcr_IDispatcher_add_fnc add, void(*clear)(struct mcr_IDispatcher *), mcr_IDispatcher_remove_fnc remove, void(*trim)(struct mcr_IDispatcher *))
 
MCR_API bool mcr_AbsKeyDispatcher_dispatch (struct mcr_IDispatcher *idispPt, struct mcr_Signal *signalPt, unsigned int mods)
 
MCR_API void mcr_AbsKeyDispatcher_modifier (struct mcr_IDispatcher *idispPt, struct mcr_Signal *signalPt, unsigned int *modsPt)
 
MCR_API void mcr_AbsKeyDispatcher_set_receivers (struct mcr_AbsKeyDispatcher *keyDispatcher, enum mcr_ApplyType forApplyType, struct mcr_ReceiverMapElement *receivers, size_t receiverCount)
 

Function Documentation

§ mcr_AbsKeyDispatcher_ctor()

MCR_API void mcr_AbsKeyDispatcher_ctor ( struct mcr_AbsKeyDispatcher keyDispatcherPt,
struct mcr_context ctx,
void(*)(struct mcr_IDispatcher *)  deinit,
mcr_IDispatcher_add_fnc  add,
void(*)(struct mcr_IDispatcher *)  clear,
mcr_IDispatcher_remove_fnc  remove,
void(*)(struct mcr_IDispatcher *)  trim 
)

ctor

Postcondition
Object is zero'd and only the dispatch and modifier functions are set. Implementation must set the rest of the interface.

§ mcr_AbsKeyDispatcher_dispatch()

MCR_API bool mcr_AbsKeyDispatcher_dispatch ( struct mcr_IDispatcher idispPt,
struct mcr_Signal signalPt,
unsigned int  mods 
)

§ mcr_AbsKeyDispatcher_modifier()

MCR_API void mcr_AbsKeyDispatcher_modifier ( struct mcr_IDispatcher idispPt,
struct mcr_Signal signalPt,
unsigned int *  modsPt 
)

§ mcr_AbsKeyDispatcher_set_receivers()

MCR_API void mcr_AbsKeyDispatcher_set_receivers ( struct mcr_AbsKeyDispatcher keyDispatcher,
enum mcr_ApplyType  forApplyType,
struct mcr_ReceiverMapElement receivers,
size_t  receiverCount 
)

Set receivers that always receive.

Precondition
Must be locked by mcr_base.distpatch_lock