Sous-systèmes

Introduction

Les commandes intégrées de PureBasic s'appuient sur les bibliothèques disponibles de chaque système d'exploitation. Parfois, il est possible d'atteindre un même résultat de différentes façons. Pour ce faire, PureBasic offre la possibilité de changer de bibliothèque, sans changer une ligne de code source. Par exemple, sous Windows, DirectX peut être utiisé en utilisant le sous-système 'DirectX' de PureBasic, qui lui, utilisera les fonctions DirectX pour rendre les sprites par exemple, en lieu et place de OpenGL (sous-système par défaut).

Pour activer un sous-système, son nom doit être défini dans l'IDE avec le menu Options du compilateur, ou par l'intermédiaire du commutateur /SUBSYSTEM en /ligne de commande. Il s'agit d'une option de compilation, ce qui signifie qu'un exécutable ne peut pas incorporer plus d'un sous-système à la fois. Si le support de multiple sous-systèmes est nécessaire (par exemple l'envoi d'une version OpenGL et DirectX d'un jeu), deux exécutables doivent être créés.

Les sous-systèmes disponibles sont situés dans le dossier 'subsystems' de PureBasic. Lorsqu'un sous-système est spécifié, tous les résidents ou les bibliothèques trouvées dans ce dossier auront préséance sur les bibliothèques par défaut et les résidents. N'importe quel nombre de sous-systèmes différents peuvent être spécifiés (pour autant que cela n'affecte pas les mêmes bibliothèques). Comme un sous-système est un répertoire, le nom du sous-système est sensible à la casse sous Linux mais pas sous Windows ou OS X.


La fonction du compilateur Subsystem peut être utilisée pour détecter si un sous-système spécifique est utilisé pour la compilation.

Sous-systèmes disponibles

Voici une liste des sous-systèmes disponibles, et les bibliothèques concernées:

Windows
  DirectX9: Utiliser DirectX9 au lieu d'OpenGL. Bibliothèques concernées: 
          - Sprite
          - Screen
          - Note: Le moteur 3D n'est plus disponible car il utilise OpenGL
  DirectX11: Utiliser DirectX 11  au lieu d'OpenGL. Bibliothèques concernées: 
          - Sprite
          - Screen
          - Note: Le moteur 3D n'est plus disponible car il utilise OpenGL


Linux
  gtk2: Bibliothèques affectées:

          - 2D Drawing
          - AudioCD
          - Clipboard
          - Desktop
          - Drag & Drop
          - Font
          - Gadget
          - Image
          - Menu
          - Movie
          - Printer
          - Requester
          - Scintilla
          - StatusBar
          - SysTray
          - Toolbar
          - Window
                              
  qt: Bibliothèques affectées:
          - 2D Drawing
          - AudioCD
          - Clipboard
          - Desktop
          - Drag & Drop
          - Font
          - Gadget
          - Image
          - Menu
          - Movie
          - Printer
          - Requester
          - Scintilla
          - StatusBar
          - SysTray
          - Toolbar
          - Window          

MacOS X
  Rien