// This source file is part of HGamer3D
// (A project to enable 3D game development in Haskell)
// For the latest info, see http://www.althainz.de/HGamer3D.html
//
// Copyright 2011 Dr. Peter Althainz
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// ClassGpuProgramManager.h
//
//
//
//
// File for type, method, enum or function stubs
// in: "..\OgreSDK_vc10_v1-7-4\include\OGRE\OgreGpuProgramManager.h"
//
// each stub combines the following files:
// a C++ implementation file, transforming cpp calls into C-functions
// a C-header file, making this C-functions available for the C2HS parser
// a chs file, give instructions to the C2HS parser.
//
//
#include "wchar.h"
#include "ClassPtr.h"
#include "Utils.h"
#include "TypeSharedPtr.h"
#include "EnumGpuProgramType.h"
// original function: GpuProgramPtr load(const String& name, const String& groupName, const String& filename, GpuProgramType gptype, const String& syntaxCode);
void cGpm_load_c(struct hg3dclass_struct *classptr_c, char * name_c, char * groupName_c, char * filename_c, enum EnumGpuProgramType gptype_c, char * syntaxCode_c, struct sharedptr_struct * result_c);
// original function: GpuProgramPtr loadFromString(const String& name, const String& groupName, const String& code, GpuProgramType gptype, const String& syntaxCode);
void cGpm_loadFromString_c(struct hg3dclass_struct *classptr_c, char * name_c, char * groupName_c, char * code_c, enum EnumGpuProgramType gptype_c, char * syntaxCode_c, struct sharedptr_struct * result_c);
// original function: bool isSyntaxSupported(const String& syntaxCode);
void cGpm_isSyntaxSupported_c(struct hg3dclass_struct *classptr_c, char * syntaxCode_c, int * result_c);
// original function: GpuProgramPtr createProgram(const String& name, const String& groupName, const String& filename, GpuProgramType gptype, const String& syntaxCode);
void cGpm_createProgram_c(struct hg3dclass_struct *classptr_c, char * name_c, char * groupName_c, char * filename_c, enum EnumGpuProgramType gptype_c, char * syntaxCode_c, struct sharedptr_struct * result_c);
// original function: GpuProgramPtr createProgramFromString(const String& name, const String& groupName, const String& code, GpuProgramType gptype, const String& syntaxCode);
void cGpm_createProgramFromString_c(struct hg3dclass_struct *classptr_c, char * name_c, char * groupName_c, char * code_c, enum EnumGpuProgramType gptype_c, char * syntaxCode_c, struct sharedptr_struct * result_c);
// original function: ResourcePtr getByName(const String& name, bool preferHighLevelPrograms);
void cGpm_getByName_c(struct hg3dclass_struct *classptr_c, char * name_c, int preferHighLevelPrograms_c, struct sharedptr_struct * result_c);