-- GENERATED by C->Haskell Compiler, version 0.16.3 Crystal Seed, 24 Jan 2009 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 ".\\HGamer3D\\Bindings\\CEGUI\\EnumSystemKey.chs" #-}{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE TypeSynonymInstances #-}

-- 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
-- 

-- (c) 2011, 2012 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.
-- 


-- EnumSystemKey.chs

-- 

module HGamer3D.Bindings.CEGUI.EnumSystemKey where

import Foreign
import Foreign.Ptr
import Foreign.C

import HGamer3D.Data.HG3DClass
import HGamer3D.Data.Vector
import HGamer3D.Data.Colour
import HGamer3D.Data.Angle


data EnumSystemKey =
   -- | The left mouse button. 
    SystemKeyLeftMouse
   -- | The right mouse button. 
                      | SystemKeyRightMouse
   -- | Either shift key. 
                      | SystemKeyShift
   -- | Either control key. 
                      | SystemKeyControl
   -- | The middle mouse button. 
                      | SystemKeyMiddleMouse
   -- | The first 'extra' mouse button. 
                      | SystemKeyX1Mouse
   -- | The second 'extra' mouse button. 
                      | SystemKeyX2Mouse
   -- | Either alt key. 
                      | SystemKeyAlt
                   deriving (Eq)
instance Enum EnumSystemKey where
  fromEnum SystemKeyLeftMouse = 1
  fromEnum SystemKeyRightMouse = 2
  fromEnum SystemKeyShift = 4
  fromEnum SystemKeyControl = 8
  fromEnum SystemKeyMiddleMouse = 16
  fromEnum SystemKeyX1Mouse = 32
  fromEnum SystemKeyX2Mouse = 64
  fromEnum SystemKeyAlt = 128

  toEnum 1 = SystemKeyLeftMouse
  toEnum 2 = SystemKeyRightMouse
  toEnum 4 = SystemKeyShift
  toEnum 8 = SystemKeyControl
  toEnum 16 = SystemKeyMiddleMouse
  toEnum 32 = SystemKeyX1Mouse
  toEnum 64 = SystemKeyX2Mouse
  toEnum 128 = SystemKeyAlt
  toEnum unmatched = error ("EnumSystemKey.toEnum: Cannot match " ++ show unmatched)