Home | History | Annotate | Download | only in go-skia
      1 /*
      2  * Copyright 2015 Google Inc.
      3  *
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 // Created by cgo -godefs. Enum fields in structs were fixed by hand.
      9 // command: go tool cgo -godefs ctypes.go > types.go
     10 //
     11 // The purpose of this file is to have Go structs with the same memory
     12 // layout as their C counterparts. For enums we want the underlying primitive
     13 // types to match.
     14 //
     15 // TODO(stephan): Add tests that allow to detect failure on platforms other
     16 // than Linux and changes in the underlying C types.
     17 
     18 package skia
     19 
     20 type Color uint32
     21 
     22 type ColorType uint32
     23 
     24 const (
     25 	UNKNOWN_COLORTYPE   ColorType = 0x0
     26 	RGBA_8888_COLORTYPE ColorType = 0x1
     27 	BGRA_8888_COLORTYPE ColorType = 0x2
     28 	ALPHA_8_COLORTYPE   ColorType = 0x3
     29 )
     30 
     31 type AlphaType uint32
     32 
     33 const (
     34 	OPAQUE_ALPHATYPE   AlphaType = 0x0
     35 	PREMUL_ALPHATYPE   AlphaType = 0x1
     36 	UNPREMUL_ALPHATYPE AlphaType = 0x2
     37 )
     38 
     39 type PixelGeometry uint32
     40 
     41 const (
     42 	UNKNOWN_SK_PIXELGEOMETRY PixelGeometry = 0x0
     43 	RGB_H_SK_PIXELGEOMETRY   PixelGeometry = 0x1
     44 	BGR_H_SK_PIXELGEOMETRY   PixelGeometry = 0x2
     45 	RGB_V_SK_PIXELGEOMETRY   PixelGeometry = 0x3
     46 	BGR_V_SK_PIXELGEOMETRY   PixelGeometry = 0x4
     47 )
     48 
     49 type ImageInfo struct {
     50 	Width     int32
     51 	Height    int32
     52 	ColorType ColorType
     53 	AlphaType AlphaType
     54 }
     55 
     56 type SurfaceProps struct {
     57 	PixelGeometry PixelGeometry
     58 }
     59 
     60 type Rect struct {
     61 	Left   float32
     62 	Top    float32
     63 	Right  float32
     64 	Bottom float32
     65 }
     66