File InputContext.c

FileList > engine > src > input > InputContext.c

Go to the source code of this file

  • #include "InputContext.h"
  • #include <string.h>
  • #include "cJSON.h"
  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <ctype.h>
  • #include <GLFW/glfw3.h>
  • #include "FileHelpers.h"
  • #include "AssertLib.h"
  • #include "Log.h"
  • #include "StringKeyHashMap.h"
  • #include "cwalk.h"
  • #include "main.h"

Public Types

Type Name
typedef void(* SetButtonCodeCallback

Public Attributes

Type Name
struct HashMap gGLFWCodeKeyboardNameLUT

Public Static Attributes

Type Name
int gJoystick = -1

Public Functions

Type Name
void In_ActivateAxisBinding (struct AxisBinding binding, struct ActiveInputBindingsMask * pMask)
void In_ActivateButtonBinding (struct ButtonBinding binding, struct ActiveInputBindingsMask * pMask)
void In_DeactivateAxisBinding (struct AxisBinding binding, struct ActiveInputBindingsMask * pMask)
void In_DeactivateButtonBinding (struct ButtonBinding binding, struct ActiveInputBindingsMask * pMask)
void In_EndFrame (InputContext * context)
struct AxisBinding In_FindAxisMapping (InputContext * context, const char * name)
struct ButtonBinding In_FindButtonMapping (InputContext * context, const char * name)
int In_FindControllerAxisMapping (InputContext * context, const char * name)
int In_FindGamepadButtonMapping (InputContext * context, const char * name)
int In_FindKeyboardButtonMapping (InputContext * context, const char * name)
int In_FindMouseAxisMapping (InputContext * context, const char * name)
int In_FindMouseButtonMapping (InputContext * context, const char * name)
int In_FindMouseScrollAxisMapping (InputContext * context, const char * name)
int In_FindMouseScrollButtonMapping (InputContext * context, const char * name)
void In_FramebufferResize (InputContext * context, int width, int height)
float In_GetAxisValue (InputContext * context, struct AxisBinding binding)
bool In_GetButtonPressThisFrame (InputContext * context, struct ButtonBinding binding)
bool In_GetButtonReleaseThisFrame (InputContext * context, struct ButtonBinding binding)
bool In_GetButtonValue (InputContext * context, struct ButtonBinding binding)
void In_GetMask (struct ActiveInputBindingsMask * pOutMask, InputContext * pCtx)
float In_GetMouseAxisValue (InputContext * context, HMouseAxisBinding hBinding)
bool In_GetMouseButtonValue (InputContext * context, HMouseButtonBinding hBinding)
InputContext In_InitInputContext ()
void In_RecieveKeyboardKey (InputContext * context, int key, int scancode, int action, int mods)
void In_RecieveMouseButton (InputContext * context, int button, int action, int mods)
void In_RecieveMouseMove (InputContext * context, double xposIn, double yposIn)
void In_RecieveScroll (InputContext * context, double xoffset, double yoffset)
void In_SetControllerPresent (int controllerNo)
void In_SetMask (struct ActiveInputBindingsMask * mask, InputContext * pCtx)
void LoadGLFWKeyboardInputLUT ()
Load a lookup hashmap from the name of a key as a string to a glfw keyboard code.

Public Static Functions

Type Name
void AddChildButtonStructs (cJSON * parent, InputMappingArray * outMappings, SetButtonCodeCallback callback, ButtonSubType btnSubType)
void AddGamepadAxisMappingsStructs (cJSON * parent, InputContext * ctx)
void AddMouseAxisMappingsStructs (cJSON * parent, InputContext * ctx)
void AddScrollAxisMappingsStructs (cJSON * parent, InputContext * ctx)
void DoTextInput (InputContext * context, int key, int scancode, int action, int mods)
void SetGamepadBtnCode (InputMapping * mapping, int code)
void SetKeyboardCode (InputMapping * mapping, int code)
void SetMouseBtnCode (InputMapping * mapping, int code)
void SetMouseScrollBtnCode (InputMapping * mapping, int code)
int Shifted (int c, bool capslock)
bool TextEntryAllowedKeystroke (int key)

Macros

Type Name
define ERROR (test, str) if(!test) {Log\_Error("In\_InitInputContext %s", str); [**InputContext**](structInputContext.md) v; memset(&v, 0, sizeof([**InputContext**](structInputContext.md))); return v;}

Public Types Documentation

typedef SetButtonCodeCallback

typedef void(* SetButtonCodeCallback) (InputMapping *, int);

Public Attributes Documentation

variable gGLFWCodeKeyboardNameLUT

struct HashMap gGLFWCodeKeyboardNameLUT;

Public Static Attributes Documentation

variable gJoystick

int gJoystick;

Public Functions Documentation

function In_ActivateAxisBinding

void In_ActivateAxisBinding (
    struct AxisBinding binding,
    struct ActiveInputBindingsMask * pMask
) 

function In_ActivateButtonBinding

void In_ActivateButtonBinding (
    struct ButtonBinding binding,
    struct ActiveInputBindingsMask * pMask
) 

function In_DeactivateAxisBinding

void In_DeactivateAxisBinding (
    struct AxisBinding binding,
    struct ActiveInputBindingsMask * pMask
) 

function In_DeactivateButtonBinding

void In_DeactivateButtonBinding (
    struct ButtonBinding binding,
    struct ActiveInputBindingsMask * pMask
) 

function In_EndFrame

void In_EndFrame (
    InputContext * context
) 

function In_FindAxisMapping

struct AxisBinding In_FindAxisMapping (
    InputContext * context,
    const char * name
) 

function In_FindButtonMapping

struct ButtonBinding In_FindButtonMapping (
    InputContext * context,
    const char * name
) 

function In_FindControllerAxisMapping

int In_FindControllerAxisMapping (
    InputContext * context,
    const char * name
) 

function In_FindGamepadButtonMapping

int In_FindGamepadButtonMapping (
    InputContext * context,
    const char * name
) 

function In_FindKeyboardButtonMapping

int In_FindKeyboardButtonMapping (
    InputContext * context,
    const char * name
) 

function In_FindMouseAxisMapping

int In_FindMouseAxisMapping (
    InputContext * context,
    const char * name
) 

function In_FindMouseButtonMapping

int In_FindMouseButtonMapping (
    InputContext * context,
    const char * name
) 

function In_FindMouseScrollAxisMapping

int In_FindMouseScrollAxisMapping (
    InputContext * context,
    const char * name
) 

function In_FindMouseScrollButtonMapping

int In_FindMouseScrollButtonMapping (
    InputContext * context,
    const char * name
) 

function In_FramebufferResize

void In_FramebufferResize (
    InputContext * context,
    int width,
    int height
) 

function In_GetAxisValue

float In_GetAxisValue (
    InputContext * context,
    struct AxisBinding binding
) 

function In_GetButtonPressThisFrame

bool In_GetButtonPressThisFrame (
    InputContext * context,
    struct ButtonBinding binding
) 

function In_GetButtonReleaseThisFrame

bool In_GetButtonReleaseThisFrame (
    InputContext * context,
    struct ButtonBinding binding
) 

function In_GetButtonValue

bool In_GetButtonValue (
    InputContext * context,
    struct ButtonBinding binding
) 

function In_GetMask

void In_GetMask (
    struct ActiveInputBindingsMask * pOutMask,
    InputContext * pCtx
) 

function In_GetMouseAxisValue

float In_GetMouseAxisValue (
    InputContext * context,
    HMouseAxisBinding hBinding
) 

function In_GetMouseButtonValue

bool In_GetMouseButtonValue (
    InputContext * context,
    HMouseButtonBinding hBinding
) 

function In_InitInputContext

InputContext In_InitInputContext () 

function In_RecieveKeyboardKey

void In_RecieveKeyboardKey (
    InputContext * context,
    int key,
    int scancode,
    int action,
    int mods
) 

function In_RecieveMouseButton

void In_RecieveMouseButton (
    InputContext * context,
    int button,
    int action,
    int mods
) 

function In_RecieveMouseMove

void In_RecieveMouseMove (
    InputContext * context,
    double xposIn,
    double yposIn
) 

function In_RecieveScroll

void In_RecieveScroll (
    InputContext * context,
    double xoffset,
    double yoffset
) 

function In_SetControllerPresent

void In_SetControllerPresent (
    int controllerNo
) 

function In_SetMask

void In_SetMask (
    struct ActiveInputBindingsMask * mask,
    InputContext * pCtx
) 

function LoadGLFWKeyboardInputLUT

Load a lookup hashmap from the name of a key as a string to a glfw keyboard code.

void LoadGLFWKeyboardInputLUT () 

Public Static Functions Documentation

function AddChildButtonStructs

static void AddChildButtonStructs (
    cJSON * parent,
    InputMappingArray * outMappings,
    SetButtonCodeCallback callback,
    ButtonSubType btnSubType
) 

function AddGamepadAxisMappingsStructs

static void AddGamepadAxisMappingsStructs (
    cJSON * parent,
    InputContext * ctx
) 

function AddMouseAxisMappingsStructs

static void AddMouseAxisMappingsStructs (
    cJSON * parent,
    InputContext * ctx
) 

function AddScrollAxisMappingsStructs

static void AddScrollAxisMappingsStructs (
    cJSON * parent,
    InputContext * ctx
) 

function DoTextInput

static void DoTextInput (
    InputContext * context,
    int key,
    int scancode,
    int action,
    int mods
) 

function SetGamepadBtnCode

static void SetGamepadBtnCode (
    InputMapping * mapping,
    int code
) 

function SetKeyboardCode

static void SetKeyboardCode (
    InputMapping * mapping,
    int code
) 

function SetMouseBtnCode

static void SetMouseBtnCode (
    InputMapping * mapping,
    int code
) 

function SetMouseScrollBtnCode

static void SetMouseScrollBtnCode (
    InputMapping * mapping,
    int code
) 

function Shifted

static int Shifted (
    int c,
    bool capslock
) 

function TextEntryAllowedKeystroke

static bool TextEntryAllowedKeystroke (
    int key
) 

Macro Definition Documentation

define ERROR

#define ERROR (
    test,
    str
) `if(!test) {Log_Error("In_InitInputContext %s", str); InputContext v; memset(&v, 0, sizeof( InputContext )); return v;}`


The documentation for this class was generated from the following file /home/runner/work/2DFarmingRPG/2DFarmingRPG/Stardew/engine/src/input/InputContext.c