GDevelop Core
Core library for developing platforms and tools compatible with GDevelop.
Namespaces | Classes | Typedefs | Functions | Variables
gd Namespace Reference

Namespaces

 GrammarTerminals
 

Classes

class  AsyncEvent
 Internal event for asynchronous actions. This event gets added internally to the events tree when an asynchronous action is used. More...
 
class  CommentEvent
 Allows to add a text in the events editor. More...
 
class  ForEachChildVariableEvent
 Event repeated for each every child of a structure variable. More...
 
class  ForEachEvent
 Event repeated for each object of a list. More...
 
class  GroupEvent
 A group event, containing only sub events and some (visual only) properties. More...
 
class  LinkEvent
 A link pointing to external events (or events of another layout) that should be included and run instead of the link. More...
 
class  RepeatEvent
 Event being repeated a specified number of times. More...
 
class  StandardEvent
 Standard event, with conditions, actions and support for sub events. More...
 
class  WhileEvent
 While event is a standard event that is repeated while some conditions are true. More...
 
class  EffectsCodeGenerator
 Internal class used to generate code from events. More...
 
class  EventsCodeGenerationContext
 Used to manage the context when generating code for events. More...
 
class  EventsCodeGenerator
 Internal class used to generate code from events. More...
 
class  ExpressionCodeGenerator
 Generate code for a parsed expression. More...
 
class  BaseEvent
 Base class defining an event. More...
 
class  EmptyEvent
 Empty event doing nothing. More...
 
class  EventsList
 A list of events. More...
 
class  EventVisitor
 Visitor of any kind of event. More...
 
class  ReadOnlyEventVisitor
 Visitor of any kind of event. More...
 
class  Expression
 Class representing an expression used as a parameter of a gd::Instruction. This class is nothing more than a wrapper around a gd::String. More...
 
class  Instruction
 An instruction is a member of an event: It can be a condition or an action. More...
 
class  InstructionsList
 
class  ExpressionParser2
 Parse an expression, returning a tree of node corresponding to the parsed expression. More...
 
struct  ExpressionParserLocation
 
struct  ExpressionParserDiagnostic
 A diagnostic that can be attached to a gd::ExpressionNode. More...
 
struct  ExpressionParserError
 An error that can be attached to a gd::ExpressionNode. More...
 
struct  ExpressionNode
 The base node, from which all nodes in the tree of an expression inherits from. More...
 
struct  SubExpressionNode
 
struct  OperatorNode
 An operator node. For example: "lhs + rhs". More...
 
struct  UnaryOperatorNode
 A unary operator node. For example: "-2". More...
 
struct  NumberNode
 A number node. For example: "123". Its type is always "number". More...
 
struct  TextNode
 A text node. For example: "Hello World". Its type is always "string". More...
 
struct  IdentifierOrFunctionCallOrObjectFunctionNameOrEmptyNode
 
struct  IdentifierNode
 An identifier node, usually representing an object or a variable with an optional function name or child variable name respectively. More...
 
struct  FunctionCallOrObjectFunctionNameOrEmptyNode
 
struct  VariableAccessorOrVariableBracketAccessorNode
 
struct  VariableNode
 A variable, or object variable, with bracket accessor or at least 2 "dot" accessors. More...
 
struct  VariableAccessorNode
 A direct accessor to a child variable. Example: MyChild in MyVariable.MyChild. More...
 
struct  VariableBracketAccessorNode
 A bracket accessor to a child variable. Example: ["MyChild"] (in MyVariable["MyChild"]). More...
 
struct  ObjectFunctionNameNode
 The name of a function to call on an object or the behavior For example: "MyObject.Physics::LinearVelocity". More...
 
struct  FunctionCallNode
 A function call node (either free function, object function or object behavior function). For example: "MyExtension::MyFunction(1, 2)", "MyObject.Function()" or "MyObject.Physics::LinearVelocity()". More...
 
struct  EmptyNode
 An empty node, used when parsing failed/a syntax error was encountered and any other node could not make sense. More...
 
class  ExpressionParser2NodePrinter
 Print the expression corresponding to a set of nodes (i.e: this is doing the inverse operation of gd::ExpressionParser2). More...
 
class  ExpressionParser2NodeWorker
 The interface for any worker class ("visitor" pattern) that want to interact with the nodes of a parsed expression. More...
 
class  EventsListSerialization
 Contains tools for loading and saving events to SerializerElement. More...
 
class  BuiltinExtensionsImplementer
 Tool class containing static methods to setup an extension so that it provides standards events, objects or instructions of an extension. More...
 
class  Animation
 Class representing an animation of a SpriteObject. More...
 
class  Direction
 Class defining a direction (set of frames) of an Animation. More...
 
class  Sprite
 Represents a sprite to be displayed on the screen. More...
 
class  SpriteAnimationList
 A list of animations, containing directions with images and collision mask. More...
 
class  SpriteObject
 Standard sprite object for extensions that implements the standard SpriteExtension (see gd::BuiltinExtensionsImplementer::ImplementsSpriteExtension). More...
 
class  AbstractFunctionMetadata
 Describe user-friendly information about an expression or an instruction (action or condition), its parameters and the function name as well as other information for code generation. More...
 
class  BehaviorMetadata
 Contains user-friendly information about a behavior type. More...
 
class  DependencyMetadata
 Contains information about a dependency (library, npm/cordova package, or other according to the export) of an extension. More...
 
class  EffectMetadata
 Contains user-friendly information about an effect. More...
 
class  EventMetadata
 Describe an event provided by an extension of a platform. More...
 
class  ExpressionCodeGenerationInformation
 Information about how generate code for an expression. More...
 
class  ExpressionMetadata
 Describe user-friendly information about an expression, its parameters and the function name as well as other information for code generation. More...
 
class  InstructionMetadata
 Describe user-friendly information about an instruction (action or condition), its parameters and the function name as well as other information for code generation. More...
 
class  InstructionOrExpressionContainerMetadata
 Contains user-friendly information about instructions and expressions (usually for a behavior or an object). More...
 
class  InstructionOrExpressionGroupMetadata
 Contains information about how to display a group of instructions to the user. More...
 
class  ExtensionAndMetadata
 A container for metadata about an object/behavior/instruction/expression and its associated extension. More...
 
class  MetadataProvider
 Allow to easily get metadata for instructions (i.e actions and conditions), expressions, objects and behaviors. More...
 
class  MultipleInstructionMetadata
 A "composite" metadata that can be used to easily declare both an expression and a related condition (and a related action) without writing manually the three of them. More...
 
class  ObjectMetadata
 Contains user-friendly information about an object type, and a function to create a new gd::Object of this type. More...
 
class  ParameterMetadata
 Describe a parameter of an instruction (action, condition) or of an expression: type, user-friendly description, etc... More...
 
class  ParameterMetadataTools
 
struct  ParameterOptions
 
class  ValueTypeMetadata
 Define a type for parameters of a function (action, condition or expression) or the returned value of an expression. More...
 
class  Platform
 Base class for implementing a platform. More...
 
class  CompilationInfo
 Class used by gd::PlatformExtension to ensure that an extension is compiled against the right versions of libraries. More...
 
struct  DuplicatedInstructionOptions
 
class  PlatformExtension
 Base class for implementing platform's extensions. More...
 
class  AbstractFileSystem
 An interface to manipulate files in a platform agnostic way. This allow exporters to work on files without knowing what is actually being used to manipulate files (Node.js, browser shims, etc...) More...
 
class  EditorSettings
 Container for arbitrary serialized data to be used by the editor to store settings. More...
 
class  EventBasedBehaviorBrowser
 Expose event-based behavior contents to workers. More...
 
class  ArbitraryEventsWorker
 ArbitraryEventsWorker is an abstract class used to browse events (and instructions) and do some work on them. Can be used to implement refactoring for example. More...
 
class  ArbitraryEventsWorkerWithContext
 An events worker that will know about the context (the objects container). Useful for workers working on expressions notably. More...
 
class  ReadOnlyArbitraryEventsWorker
 ReadOnlyArbitraryEventsWorker is an abstract class used to browse events (and instructions). It can be used to implement autocompletion for example. More...
 
class  ReadOnlyArbitraryEventsWorkerWithContext
 An events worker that will know about the context (the objects container). Useful for workers working on expressions notably. More...
 
class  BehaviorDefaultFlagClearer
 This is used for project exports to keep default behaviors in serialized data used by Runtime. More...
 
class  BehaviorTypeRenamer
 
class  CustomObjectTypeRenamer
 
class  ExpressionBehaviorRenamer
 Go through the nodes and rename any reference to an object behavior. More...
 
class  EventsBehaviorRenamer
 Replace in expressions and in parameters of actions or conditions, references to the name of a behavior of an object by another name. More...
 
class  ExpressionObjectsAnalyzer
 Go through the nodes and report any object found. More...
 
class  EventsContext
 Store the results of a search done by EventsContextAnalyzer. More...
 
class  EventsContextAnalyzer
 Analyze events to list all the objects being used in them. More...
 
class  FirstInstructionTypeChecker
 Check the type of the first condition or action. More...
 
class  FirstActionExpressionTypeChecker
 Check the type of the first condition or action. More...
 
class  EventsFunctionSelfCallChecker
 Check if functions are only calling themselves. More...
 
class  EventsIdentifiersFinder
 Perform a search over a layout, searching for layout or object custom identifiers. More...
 
class  EventsLeaderboardsLister
 List the leaderboard ids in the instructions. More...
 
class  EventsLeaderboardsRenamer
 Replace the leaderboard ids in the instructions. More...
 
class  EventsParametersLister
 List the values of the parameters of events and their type. More...
 
class  EventsPositionFinder
 Scans an event list to retrieve the position of a list of searched events when the events list is flattened. More...
 
class  ExpressionPropertyReplacer
 Go through the nodes and rename properties, or signal if the instruction must be renamed if a removed property is used. More...
 
class  EventsPropertyReplacer
 Replace in expressions and in parameters of actions or conditions, references to the name of a property by another. More...
 
class  ExpressionObjectRenamer
 Go through the nodes and change the given object name to a new one. More...
 
class  ExpressionObjectFinder
 Go through the nodes and check if the given object is being used in the expression. More...
 
class  EventsSearchResult
 Class used to return result when calling EventsRefactorer::SearchInEvents. More...
 
class  EventsRefactorer
 Class containing functions to do refactoring tasks on events. More...
 
class  EventsRemover
 Allow to safely remove a bunch of events. More...
 
class  EventsTypesLister
 List the values of the parameters of events and their type. More...
 
class  ExpressionVariableReplacer
 Go through the nodes and rename variables, or signal if the instruction must be renamed if a removed variable is used. More...
 
class  EventsVariableReplacer
 Replace in expressions and in parameters of actions or conditions, references to the name of a variable by another. More...
 
class  EventsVariablesFinder
 Perform a search over a project or a layout, searching for layout, global or object variables. More...
 
struct  ExpressionCompletionDescription
 Describe completions to be shown to the user. More...
 
class  ExpressionCompletionFinder
 Returns the list of completion descriptions for an expression node. More...
 
class  ExpressionLeftSideTypeFinder
 Find the type of the node at the left side of operations. More...
 
class  ExpressionNodeLocationFinder
 Find the deepest node at the specified location in an expression. More...
 
class  ExpressionParameterMover
 Go through the nodes and change the position of a parameter of the given function. More...
 
class  ExpressionsParameterMover
 Move in expressions, in parameters of actions or conditions, a parameter from one position to another. More...
 
class  ExpressionFunctionRenamer
 Go through the nodes and change the given function name to a new name. More...
 
class  ExpressionsRenamer
 Replace in expressions, in parameters of actions or conditions, calls to a function by another function. More...
 
class  ExpressionTypeFinder
 Find the type of the expression or sub-expression that a given node represents. More...
 
class  ExpressionValidator
 Validate that an expression is properly written by returning any error attached to the nodes during parsing. More...
 
class  ExpressionVariableOwnerFinder
 Find the object name that should be used as a context of the expression or sub-expression that a given node represents. More...
 
struct  VariableAndItsParent
 Contains a variables container or a variable. Useful to refer to the parent of a variable (which can be a VariablesContainer or another Variable). More...
 
class  ExpressionVariableParentFinder
 Find the last parent (i.e: the variables container) of a node representing a variable. More...
 
class  InstructionsCountEvaluator
 Count the number of instructions in a project excluding extensions. More...
 
class  InstructionSentenceFormatter
 Generate user friendly sentences and information from an action or condition metadata. More...
 
class  InstructionsParameterMover
 Reorder the parameters of the instruction with the specified type in events, moving the parameter at the specified oldIndex to newIndex. More...
 
class  InstructionsTypeRenamer
 Replace in events all instructions of the specified type by another type. More...
 
class  LinkEventTargetRenamer
 Replace in link events the name of external events. More...
 
class  ExpressionIdentifierStringFinder
 Go through the nodes and find every function call parameter of a given type. More...
 
class  ProjectElementRenamer
 Replace in expressions and in parameters of actions or conditions occurrences of project element name. For instance, it can be layouts or object effects. More...
 
class  TextFormatting
 Represents the style of a text displayed in the events editor. More...
 
class  UsedExtensionsResult
 
class  UsedExtensionsFinder
 
class  EventsFunctionTools
 
struct  DependencyMetadataAndExtension
 Store references to a gd::DependencyMetadata and its associated gd::PlatformExtension. More...
 
class  ExportedDependencyResolver
 Helpers to manipulate dependencies of extensions to be exported along with a game. More...
 
class  ExtensionsLoader
 Internal class loading static extensions. More...
 
class  NewNameGenerator
 Generate unique names. More...
 
class  ObjectAssetSerializer
 Serialize objects into an asset for the store. More...
 
class  PlatformLoader
 Load a gd::Platform in memory from a file and add it to the manager. More...
 
class  PlatformManager
 Singleton class managing all the platforms available. More...
 
class  ArbitraryBehaviorSharedDataWorker
 ArbitraryBehaviorSharedDataWorker is an abstract class used to browse shared data and do some work on them. It can be used to implement refactoring for example. More...
 
class  ArbitraryEventBasedBehaviorsWorker
 ArbitraryEventsFunctionsWorker is an abstract class used to browse event-based behaviors and do some work on them. It can be used to implement refactoring for example. More...
 
class  ArbitraryEventsFunctionsWorker
 ArbitraryEventsFunctionsWorker is an abstract class used to browse functions signatures and do some work on them. It can be used to implement refactoring for example. More...
 
class  ArbitraryObjectsWorker
 ArbitraryObjectsWorker is an abstract class used to browse objects (and behaviors) and do some work on them. Can be used to implement refactoring for example. More...
 
class  ArbitraryResourceWorker
 ArbitraryResourceWorker is used so as to inventory resources and sometimes update them. More...
 
class  ResourceWorkerInEventsWorker
 
class  ResourceWorkerInObjectsWorker
 
class  AssetResourcePathCleaner
 AssetResourcePathCleaner is used when exporting an object as an asset. It removes the folder from the path. More...
 
class  BehaviorObjectTypeRenamer
 Rename the object type in event-based behaviors. More...
 
class  BehaviorsSharedDataBehaviorTypeRenamer
 Rename the behavior type of shared data. More...
 
class  FunctionParameterBehaviorTypeRenamer
 Rename the type of behavior parameters in functions. More...
 
class  FunctionParameterObjectTypeRenamer
 Rename the type of object parameters in functions. More...
 
class  ObjectsUsingResourceCollector
 
class  ResourceNameMatcher
 
class  ProjectResourcesAdder
 Automatically add missing resources of a project. More...
 
class  ProjectResourcesCopier
 Copy all resources files of a project to a directory. More...
 
class  RequiredBehaviorRenamer
 Rename the type of required behavior in event-based behaviors. More...
 
class  ResourcesAbsolutePathChecker
 Helper used to check if a project has at least a resource with an absolute filename. More...
 
class  ResourcesInUseHelper
 Class used to track all resources used by a game, or a part of it (like a gd::Object). More...
 
class  ResourcesMergingHelper
 ResourcesMergingHelper is used (mainly during export) to list resources and generate new filenames, to allow them to be all copied in a single directory (potentially changing the filename to avoid conflicts, but preserving extensions). More...
 
class  ResourcesRenamer
 Class used to rename resources (in an object, an entire project, etc...) More...
 
class  SceneResourcesFinder
 Find resource usages in several parts of the project. More...
 
class  ProjectBrowser
 Expose a subset of the project to workers. More...
 
class  ProjectBrowserHelper
 Expose a subset of the project to workers. More...
 
class  ProjectStripper
 Tool class providing methods to strip useless data for a project after it has been exported. More...
 
class  PropertyFunctionGenerator
 Generate a getter and a setter functions for properties. More...
 
class  ResourceExposer
 
class  SceneNameMangler
 Mangle the name of a scene, so that it can be used in code or file names. More...
 
class  UnfilledRequiredBehaviorPropertyProblem
 A problem when a required behavior property is not fill correctly. More...
 
class  WholeProjectBrowser
 Expose the whole project to workers. More...
 
struct  VariablesChangeset
 
class  WholeProjectRefactorer
 Tool functions to do refactoring on the whole project after changes like deletion or renaming of an object. More...
 
class  AbstractEventsBasedEntity
 Represents a behavior or an object that is implemented with events. More...
 
class  Behavior
 Base class used to represents a behavior that can be applied to an object. It stores the content (i.e: the properties) of a behavior of an object and forward the properties related functions to Javascript with Emscripten. More...
 
class  BehaviorConfigurationContainer
 Base class for containers of behavior configuration. They can be attached to objects (Behavior) or layouts (BehaviorsSharedData). It stores the content (i.e: the properties) of a behavior of an object. More...
 
class  BehaviorsSharedData
 Base class for defining data shared by behaviors having the same type and name. More...
 
class  CustomBehavior
 A gd::Behavior that stores its content in JSON. More...
 
class  CustomBehaviorsSharedData
 A gd::BehaviorsSharedData that stores its content in JSON. More...
 
class  CustomConfigurationHelper
 Helper functions that gd::CustomBehavior and gd::CustomBehaviorsSharedData use to store their content in JSON. More...
 
class  CustomObjectConfiguration
 A gd::ObjectConfiguration that stores its content in JSON and is composed of other configuration according to it's object children. More...
 
class  Effect
 Represents an effect that can be applied on a layer. More...
 
class  EffectsContainer
 Contains effects applied to an entity on screen (i.e: a Layer or an Object). More...
 
class  EventsBasedBehavior
 Represents a behavior that is implemented with events. More...
 
class  EventsBasedObject
 Represents an object that is implemented with events. More...
 
class  EventsFunction
 Events that can be generated as a stand-alone function, and used as a condition, action or expression. More...
 
class  EventsFunctionsContainer
 Used as a base class for classes that will own events-backed functions. More...
 
class  EventsFunctionsExtension
 Hold a list of Events Functions (gd::EventsFunction) and Events Based Behaviors. More...
 
class  ExtensionProperties
 
class  ExternalEvents
 Contains a list of events not directly linked to a layout. More...
 
struct  ExternalEventsHasName
 Functor testing ExternalEvents' name. More...
 
class  ExternalLayout
 An external layout allows to create layouts of objects that can be then inserted on a layout. More...
 
struct  ExternalLayoutHasName
 Functor testing ExternalLayout' name. More...
 
class  InitialInstance
 Represents an instance of an object to be created on a layout start up. More...
 
class  InitialInstancesContainer
 Defines a container of gd::InitialInstances. More...
 
class  InitialInstanceFunctor
 Tool class to be used with gd::InitialInstancesContainer::IterateOverInstances. More...
 
class  HighestZOrderFinder
 Tool class picking returning the highest Z order of instances on a layer. More...
 
class  Camera
 A camera is used to render a specific area of a layout. More...
 
class  Layer
 Represents a layer of a layout. More...
 
struct  LayerHasName
 Functor testing layer name. More...
 
class  Layout
 Represent a layout ( also called a scene ) of a project. More...
 
struct  LayoutHasName
 Functor testing layout name. More...
 
class  LoadingScreen
 Describe the content and set up of the loading screen. More...
 
class  MeasurementBaseUnit
 An atomic unit of measurement. More...
 
class  MeasurementUnit
 A unit of measurement. More...
 
class  MeasurementUnitElement
 A couple of an atomic unit of measurement and its power. More...
 
class  NamedPropertyDescriptor
 Used to describe a property shown in a property grid. More...
 
class  Object
 Represent an object of a platform. More...
 
struct  ObjectHasName
 Functor testing object name. More...
 
class  ObjectConfiguration
 Base class used to represent an object configuration. For example, this can be the animations in a sprite, the text, its font, its color in a Text object, etc... More...
 
class  ObjectFolderOrObject
 Class representing a folder structure in order to organize objects in folders (to be used with an ObjectsContainer.) More...
 
class  ObjectGroup
 Represents an object group. More...
 
class  ObjectGroupsContainer
 A container for objects groups. More...
 
class  ObjectsContainer
 Used as a base class for classes that will own objects (see gd::Object). More...
 
class  ObjectsContainersList
 A list of objects containers, useful for accessing objects in a scoped way, along with methods to access them. More...
 
class  PlatformSpecificAssets
 Store the icons, splashscreens or reference to any other asset that can be needed when exporting the game. More...
 
class  Project
 Base class representing a project (game), including all resources, scenes, objects, extensions... More...
 
class  ProjectScopedContainers
 Holds references to variables, objects, properties and other containers. More...
 
class  PropertiesContainer
 A container of properties, used for custom behaviors, custom objects, extensions... More...
 
class  PropertiesContainersList
 A list of property containers, useful for accessing properties in a scoped way. More...
 
class  PropertyDescriptor
 Used to describe a property shown in a property grid. More...
 
class  Resource
 Base class to describe a resource used by a game. More...
 
class  ImageResource
 Describe an image/texture used by a project. More...
 
class  AudioResource
 Describe an audio file used by a project. More...
 
class  FontResource
 Describe a font file used by a project. More...
 
class  VideoResource
 Describe a video file used by a project. More...
 
class  JsonResource
 Describe a json file used by a project. More...
 
class  SpineResource
 Describe a spine json file used by a project. More...
 
class  TilemapResource
 Describe a tilemap file used by a project. More...
 
class  TilesetResource
 Describe a tileset file used by a project. More...
 
class  BitmapFontResource
 Describe a bitmap font file used by a project. More...
 
class  Model3DResource
 Describe a 3D model file used by a project. More...
 
class  AtlasResource
 Describe an atlas file used by a project. More...
 
class  ResourcesManager
 Inventory all resources used by a project. More...
 
class  ResourceFolder
 
class  SourceFile
 Represents a "physical" source file. More...
 
struct  ExternalSourceFileHasName
 
class  Variable
 Defines a variable which can be used by an object, a layout or a project. More...
 
class  VariablesContainer
 Class defining a container for gd::Variable. More...
 
class  VariablesContainersList
 A list of variables containers, useful for accessing variables in a scoped way. More...
 
class  Watermark
 Describe the content and set up of the watermark. More...
 
class  Serializer
 The class used to save/load projects and GDCore classes from/to XML or JSON. More...
 
class  SerializerElement
 A generic container that can represent a value ( containing a string, double, bool or int), an object ("associative array", "dictionary") with children or an array (children indexed by numeric properties). More...
 
class  SerializerValue
 A value stored inside a gd::SerializerElement. More...
 
class  String
 String represents an UTF8 encoded string. More...
 
struct  _Unique_if
 
struct  _Unique_if< T[]>
 
struct  _Unique_if< T[N]>
 
class  SerializableWithNameList
 A class template that store a list of elements that can be accessed by their names and serialized. More...
 
class  SPtrList
 
class  SystemStats
 Tool class to provide information about the system. More...
 
class  VersionWrapper
 Used to get information about GDevelop Core version. More...
 
class  Vector2
 Utility template class for manipulating 2-dimensional vectors. More...
 

Typedefs

typedef std::shared_ptr< BaseEventBaseEventSPtr
 
typedef Vector2< int > Vector2i
 
typedef Vector2< unsigned int > Vector2u
 
typedef Vector2< float > Vector2f
 

Functions

double Pi ()
 
double Round (double d)
 
BaseEventSPtr GD_CORE_API CloneRememberingOriginalEvent (BaseEventSPtr event)
 
std::shared_ptr< Instruction > GD_CORE_API CloneRememberingOriginalElement (std::shared_ptr< Instruction > instruction)
 
void OpenPoint (Point &point, const gd::SerializerElement &element)
 
void OpenPointsSprites (vector< Point > &points, const gd::SerializerElement &element)
 
void SavePoint (const Point &point, gd::SerializerElement &element)
 
void SavePointsSprites (const vector< Point > &points, gd::SerializerElement &element)
 
void SaveSpritesDirection (const vector< Sprite > &sprites, gd::SerializerElement &element)
 
gd::String ReplaceAllOccurrencesCaseInsensitive (gd::String context, const gd::String &from, const gd::String &to)
 
std::ostream & operator<< (std::ostream &os, ExpressionCompletionDescription const &value)
 Turn an ExpressionCompletionDescription to a string.
 
gd::ResourceWorkerInEventsWorker GetResourceWorkerOnEvents (const gd::Project &project, gd::ArbitraryResourceWorker &worker)
 
gd::ResourceWorkerInObjectsWorker GetResourceWorkerOnObjects (const gd::Project &project, gd::ArbitraryResourceWorker &worker)
 
std::vector< gd::StringGetHiddenLayers (const Layout &layout)
 Get the names of all layers from the given layout that are invisible. More...
 
gd::String GD_CORE_API GetTypeOfObject (const ObjectsContainer &game, const ObjectsContainer &layout, gd::String objectName, bool searchInGroups=true)
 Get a type from an object/group name. More...
 
void GD_CORE_API FilterBehaviorNamesFromObject (const gd::Object &object, const gd::String &behaviorType, std::vector< gd::String > &behaviorNames)
 
std::vector< gd::String > GD_CORE_API GetBehaviorNamesInObjectOrGroup (const gd::ObjectsContainer &project, const gd::ObjectsContainer &layout, const gd::String &objectOrGroupName, const gd::String &behaviorType, bool searchInGroups)
 Get the names of behavior of a given type if an object or all objects of a group has it.
 
bool GD_CORE_API HasBehaviorInObjectOrGroup (const gd::ObjectsContainer &project, const gd::ObjectsContainer &layout, const gd::String &objectOrGroupName, const gd::String &behaviorName, bool searchInGroups=true)
 Check if an object or all objects of a group has a behavior. More...
 
bool GD_CORE_API IsDefaultBehavior (const gd::ObjectsContainer &project, const gd::ObjectsContainer &layout, gd::String objectOrGroupName, gd::String behaviorName, bool searchInGroups=true)
 Check if a behavior is a default one or doesn't exist in an object or all objects of a group.
 
gd::String GD_CORE_API GetTypeOfBehaviorInObjectOrGroup (const gd::ObjectsContainer &project, const gd::ObjectsContainer &layout, const gd::String &objectOrGroupName, const gd::String &behaviorName, bool searchInGroups=true)
 Get the type of a behavior if an object or all objects of a group has it.
 
gd::String GD_CORE_API GetTypeOfBehavior (const ObjectsContainer &game, const ObjectsContainer &layout, gd::String behaviorName, bool searchInGroups=true)
 Get a type from a behavior name. More...
 
vector< gd::String > GD_CORE_API GetBehaviorsOfObject (const ObjectsContainer &game, const ObjectsContainer &layout, const gd::String &objectName, bool searchInGroups=true)
 Get behaviors of an object/group. More...
 
String GD_CORE_API operator+ (String lhs, const String &rhs)
 
String GD_CORE_API operator+ (String lhs, const char *rhs)
 
String GD_CORE_API operator+ (const char *lhs, const String &rhs)
 
bool GD_CORE_API operator== (const String &lhs, const String &rhs)
 
bool GD_CORE_API operator== (const String &lhs, const char *rhs)
 
bool GD_CORE_API operator== (const char *lhs, const gd::String &rhs)
 
bool GD_CORE_API operator!= (const String &lhs, const String &rhs)
 
bool GD_CORE_API operator!= (const String &lhs, const char *rhs)
 
bool GD_CORE_API operator!= (const char *lhs, const String &rhs)
 
bool GD_CORE_API operator< (const String &lhs, const String &rhs)
 
bool GD_CORE_API operator< (const String &lhs, const char *rhs)
 
bool GD_CORE_API operator< (const char *lhs, const String &rhs)
 
bool GD_CORE_API operator<= (const String &lhs, const String &rhs)
 
bool GD_CORE_API operator<= (const String &lhs, const char *rhs)
 
bool GD_CORE_API operator<= (const char *lhs, const String &rhs)
 
bool GD_CORE_API operator> (const String &lhs, const String &rhs)
 
bool GD_CORE_API operator> (const String &lhs, const char *rhs)
 
bool GD_CORE_API operator> (const char *lhs, const String &rhs)
 
bool GD_CORE_API operator>= (const String &lhs, const String &rhs)
 
bool GD_CORE_API operator>= (const String &lhs, const char *rhs)
 
bool GD_CORE_API operator>= (const char *lhs, const String &rhs)
 
std::ostream &GD_CORE_API operator<< (std::ostream &os, const String &str)
 
std::istream &GD_CORE_API operator>> (std::istream &is, String &str)
 
bool GD_CORE_API CaseSensitiveEquiv (String lhs, String rhs, bool compat)
 
bool GD_CORE_API CaseInsensitiveEquiv (const String &lhs, const String &rhs, bool compat)
 
Handle OpenLibrary (const char *path)
 Open a raw C++ dynamic library. More...
 
void * GetSymbol (Handle library, const char *name)
 Get a raw symbol from a raw C++ dynamic library.
 
void CloseLibrary (Handle library)
 Close a raw C++ dynamic library. More...
 
gd::String DynamicLibraryLastError ()
 Get the last error occurred when loading a dynamic library.
 
Handle SetLibraryGlobal (const char *path)
 
template<typename T >
T & HexToRgb (int hexValue, T &output)
 
void GD_CORE_API LogWarning (const gd::String &msg)
 Standard function that should be used when emitting a warning to be displayed to the user.
 
void GD_CORE_API LogError (const gd::String &msg)
 Standard function that should be used when emitting an error to be displayed to the user.
 
void GD_CORE_API LogFatalError (const gd::String &msg)
 Standard function that should be used when emitting an error to be displayed to the user before a crash/undefined behavior.
 
void GD_CORE_API LogMessage (const gd::String &msg)
 Standard function that should be used when emitting a message to be displayed to the user.
 
void GD_CORE_API LogStatus (const gd::String &msg)
 Standard function that should be used when emitting a status message to be displayed to the user.
 
template<class T , class... Args>
_Unique_if< T >::_Single_object make_unique (Args &&... args)
 
template<class T >
_Unique_if< T >::_Unknown_bound make_unique (size_t n)
 
template<class T , class... Args>
_Unique_if< T >::_Known_bound make_unique (Args &&...)=delete
 
template<class T >
std::unique_ptr< T > Clone (const std::unique_ptr< T > &object)
 
template<class T >
std::vector< std::unique_ptr< T > > Clone (const std::vector< std::unique_ptr< T >> &vector)
 
int parseLine (char *line)
 
bool GD_CORE_API LoadXmlFromFile (TiXmlDocument &doc, const gd::String &filepath)
 
bool GD_CORE_API SaveXmlToFile (const TiXmlDocument &doc, const gd::String &filepath)
 
Non-member operators
const String &GD_CORE_API operator|| (const String &lhs, const String &rhs)
 
String GD_CORE_API operator|| (String lhs, const char *rhs)
 

Variables

unsigned char InvalidImageData []
 

Detailed Description

Temporary implementation of make_unique as it's not available in C++11.

Function Documentation

◆ CloneRememberingOriginalElement()

std::shared_ptr< Instruction > GD_CORE_API gd::CloneRememberingOriginalElement ( std::shared_ptr< Instruction instruction)

Clone the given instruction, returning an instruction for which GetOriginalInstruction() returns the originally copied instruction.

◆ CloseLibrary()

void GD_CORE_API gd::CloseLibrary ( Handle  library)

Close a raw C++ dynamic library.

Note
Libraries are reference counted, so that the library will be really freed from memory when CloseLibrary will be called with the same amount of time OpenLibrary was called.

◆ GetBehaviorsOfObject()

std::vector< gd::String > GD_CORE_API gd::GetBehaviorsOfObject ( const ObjectsContainer game,
const ObjectsContainer layout,
const gd::String objectName,
bool  searchInGroups = true 
)

Get behaviors of an object/group.

Note
The behaviors of a group are the behaviors which are found in common when looking all the objects of the group.
Returns
Vector containing names of behaviors

◆ GetHiddenLayers()

std::vector< gd::String > gd::GetHiddenLayers ( const Layout layout)

Get the names of all layers from the given layout that are invisible.

See also
gd::Layout

◆ GetTypeOfBehavior()

gd::String GD_CORE_API gd::GetTypeOfBehavior ( const ObjectsContainer game,
const ObjectsContainer layout,
gd::String  behaviorName,
bool  searchInGroups = true 
)

Get a type from a behavior name.

Returns
Type of the behavior.
Deprecated:
  • Use GetTypeOfBehaviorInObjectOrGroup instead.

◆ GetTypeOfObject()

gd::String GD_CORE_API gd::GetTypeOfObject ( const ObjectsContainer game,
const ObjectsContainer layout,
gd::String  objectName,
bool  searchInGroups = true 
)

Get a type from an object/group name.

Note
If a group contains only objects of a same type, then the group has this type. Otherwise, it is considered as an object without any specific type.
Deprecated:
Use gd::ObjectsContainersList::GetTypeOfObject instead.
Returns
Type of the object/group.

◆ HasBehaviorInObjectOrGroup()

bool GD_CORE_API gd::HasBehaviorInObjectOrGroup ( const gd::ObjectsContainer project,
const gd::ObjectsContainer layout,
const gd::String objectOrGroupName,
const gd::String behaviorName,
bool  searchInGroups = true 
)

Check if an object or all objects of a group has a behavior.

Deprecated:
Use gd::ObjectsContainersList::HasBehaviorInObjectOrGroup instead.

◆ OpenLibrary()

Handle GD_CORE_API gd::OpenLibrary ( const char *  path)

Open a raw C++ dynamic library.

On system with POSIX support, loading is made with RTLD_LAZY and RTLD_LOCAL flags. If symbols of libraries need to be available globally, call SetLibraryGlobal after.

Variable Documentation

◆ InvalidImageData

unsigned char gd::InvalidImageData[]

Invalid image is a 100*100 PNG file.