# CategoryProperties

A property is a variable that can be created and retrieved by name at
runtime.

All properties are part of a property group
([SDL_PropertiesID](SDL_PropertiesID)). A property group can be created
with the [SDL_CreateProperties](SDL_CreateProperties) function and
destroyed with the [SDL_DestroyProperties](SDL_DestroyProperties) function.

Properties can be added to and retrieved from a property group through the
following functions:

- [SDL_SetPointerProperty](SDL_SetPointerProperty) and
  [SDL_GetPointerProperty](SDL_GetPointerProperty) operate on `void*`
  pointer types.
- [SDL_SetStringProperty](SDL_SetStringProperty) and
  [SDL_GetStringProperty](SDL_GetStringProperty) operate on string types.
- [SDL_SetNumberProperty](SDL_SetNumberProperty) and
  [SDL_GetNumberProperty](SDL_GetNumberProperty) operate on signed 64-bit
  integer types.
- [SDL_SetFloatProperty](SDL_SetFloatProperty) and
  [SDL_GetFloatProperty](SDL_GetFloatProperty) operate on floating point
  types.
- [SDL_SetBooleanProperty](SDL_SetBooleanProperty) and
  [SDL_GetBooleanProperty](SDL_GetBooleanProperty) operate on boolean
  types.

Properties can be removed from a group by using
[SDL_ClearProperty](SDL_ClearProperty).

<!-- END CATEGORY DOCUMENTATION -->

## Functions

<!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. -->
<!-- BEGIN CATEGORY LIST: CategoryProperties, CategoryAPIFunction -->
- [SDL_ClearProperty](SDL_ClearProperty)
- [SDL_CopyProperties](SDL_CopyProperties)
- [SDL_CreateProperties](SDL_CreateProperties)
- [SDL_DestroyProperties](SDL_DestroyProperties)
- [SDL_EnumerateProperties](SDL_EnumerateProperties)
- [SDL_GetBooleanProperty](SDL_GetBooleanProperty)
- [SDL_GetFloatProperty](SDL_GetFloatProperty)
- [SDL_GetGlobalProperties](SDL_GetGlobalProperties)
- [SDL_GetNumberProperty](SDL_GetNumberProperty)
- [SDL_GetPointerProperty](SDL_GetPointerProperty)
- [SDL_GetPropertyType](SDL_GetPropertyType)
- [SDL_GetStringProperty](SDL_GetStringProperty)
- [SDL_HasProperty](SDL_HasProperty)
- [SDL_LockProperties](SDL_LockProperties)
- [SDL_SetBooleanProperty](SDL_SetBooleanProperty)
- [SDL_SetFloatProperty](SDL_SetFloatProperty)
- [SDL_SetNumberProperty](SDL_SetNumberProperty)
- [SDL_SetPointerProperty](SDL_SetPointerProperty)
- [SDL_SetPointerPropertyWithCleanup](SDL_SetPointerPropertyWithCleanup)
- [SDL_SetStringProperty](SDL_SetStringProperty)
- [SDL_UnlockProperties](SDL_UnlockProperties)
<!-- END CATEGORY LIST -->

## Datatypes

<!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. -->
<!-- BEGIN CATEGORY LIST: CategoryProperties, CategoryAPIDatatype -->
- [SDL_CleanupPropertyCallback](SDL_CleanupPropertyCallback)
- [SDL_EnumeratePropertiesCallback](SDL_EnumeratePropertiesCallback)
- [SDL_PropertiesID](SDL_PropertiesID)
<!-- END CATEGORY LIST -->

## Structs

<!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. -->
<!-- BEGIN CATEGORY LIST: CategoryProperties, CategoryAPIStruct -->
- (none.)
<!-- END CATEGORY LIST -->

## Enums

<!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. -->
<!-- BEGIN CATEGORY LIST: CategoryProperties, CategoryAPIEnum -->
- [SDL_PropertyType](SDL_PropertyType)
<!-- END CATEGORY LIST -->

## Macros

<!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. -->
<!-- BEGIN CATEGORY LIST: CategoryProperties, CategoryAPIMacro -->
- (none.)
<!-- END CATEGORY LIST -->


----
[CategoryAPICategory](CategoryAPICategory)