Struct ggez::Context[][src]

pub struct Context {
    pub conf: Conf,
    pub sdl_context: Sdl,
    pub filesystem: Filesystem,
    pub event_context: EventSubsystem,
    pub timer_context: TimeContext,
    pub audio_context: AudioContext,
    pub gamepad_context: GamepadContext,
    pub mouse_context: MouseContext,
    pub default_font: Font,
    // some fields omitted

A Context is an object that holds on to global resources. It basically tracks hardware state such as the screen, audio system, timers, and so on. Generally this type is not thread- safe and only one Context can exist at a time. Trying to create another one will fail.

Most functions that interact with the hardware, for instance drawing things, playing sounds, or loading resources (which then need to be transformed into a format the hardware likes) will need to access the Context.


The Conf object the Context was created with

SDL context

Filesystem state

Event context

Timer state

Audio context

Gamepad context

Mouse context

Default font


impl Context

Tries to create a new Context by loading a config file from its default path, using the given Conf object as a default if none is found.

The game_id and author are game-specific strings that are used to locate the default storage locations for the platform it looks in, as documented in the filesystem module. You can also always debug-print the Context::filesystem field to see what paths it is searching.

Prints out information on the resources subsystem.

Triggers a Quit event.

Feeds an Event into the Context so it can update any internal state it needs to, such as detecting window resizes. If you are rolling your own event loop, you should call this on the events you receive before processing them yourself.

Trait Implementations

impl Debug for Context

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl !Send for Context

impl !Sync for Context