//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (http://www.swig.org).
// Version 3.0.10
//
// Do not make changes to this file unless you know what you are doing--modify
// the SWIG interface file instead.
//------------------------------------------------------------------------------


using System;
using System.Runtime.InteropServices;

namespace Noesis
{

public class TextElement : FrameworkElement {
  internal new static TextElement CreateProxy(IntPtr cPtr, bool cMemoryOwn) {
    return new TextElement(cPtr, cMemoryOwn);
  }

  internal TextElement(IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn) {
  }

  internal static HandleRef getCPtr(TextElement obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  public static Brush GetBackground(DependencyObject element) {
    IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_GetBackground(DependencyObject.getCPtr(element));
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    return (Brush)Noesis.Extend.GetProxy(cPtr, false);
  }

  public static void SetBackground(DependencyObject element, Brush background) {
    NoesisGUI_PINVOKE.TextElement_SetBackground(DependencyObject.getCPtr(element), Brush.getCPtr(background));
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
  }

  public static FontFamily GetFontFamily(DependencyObject element) {
    IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_GetFontFamily(DependencyObject.getCPtr(element));
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    return (FontFamily)Noesis.Extend.GetProxy(cPtr, false);
  }

  public static void SetFontFamily(DependencyObject element, FontFamily family) {
    NoesisGUI_PINVOKE.TextElement_SetFontFamily(DependencyObject.getCPtr(element), FontFamily.getCPtr(family));
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
  }

  public static float GetFontSize(DependencyObject element) {
    float ret = NoesisGUI_PINVOKE.TextElement_GetFontSize(DependencyObject.getCPtr(element));
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void SetFontSize(DependencyObject element, float size) {
    NoesisGUI_PINVOKE.TextElement_SetFontSize(DependencyObject.getCPtr(element), size);
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
  }

  public static FontStretch GetFontStretch(DependencyObject element) {
    FontStretch ret = (FontStretch)NoesisGUI_PINVOKE.TextElement_GetFontStretch(DependencyObject.getCPtr(element));
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void SetFontStretch(DependencyObject element, FontStretch stretch) {
    NoesisGUI_PINVOKE.TextElement_SetFontStretch(DependencyObject.getCPtr(element), (int)stretch);
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
  }

  public static FontStyle GetFontStyle(DependencyObject element) {
    FontStyle ret = (FontStyle)NoesisGUI_PINVOKE.TextElement_GetFontStyle(DependencyObject.getCPtr(element));
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void SetFontStyle(DependencyObject element, FontStyle style) {
    NoesisGUI_PINVOKE.TextElement_SetFontStyle(DependencyObject.getCPtr(element), (int)style);
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
  }

  public static FontWeight GetFontWeight(DependencyObject element) {
    FontWeight ret = (FontWeight)NoesisGUI_PINVOKE.TextElement_GetFontWeight(DependencyObject.getCPtr(element));
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void SetFontWeight(DependencyObject element, FontWeight weight) {
    NoesisGUI_PINVOKE.TextElement_SetFontWeight(DependencyObject.getCPtr(element), (int)weight);
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
  }

  public static Brush GetForeground(DependencyObject element) {
    IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_GetForeground(DependencyObject.getCPtr(element));
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    return (Brush)Noesis.Extend.GetProxy(cPtr, false);
  }

  public static void SetForeground(DependencyObject element, Brush foreground) {
    NoesisGUI_PINVOKE.TextElement_SetForeground(DependencyObject.getCPtr(element), Brush.getCPtr(foreground));
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
  }

  public static Brush GetStroke(DependencyObject element) {
    IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_GetStroke(DependencyObject.getCPtr(element));
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    return (Brush)Noesis.Extend.GetProxy(cPtr, false);
  }

  public static void SetStroke(DependencyObject element, Brush stroke) {
    NoesisGUI_PINVOKE.TextElement_SetStroke(DependencyObject.getCPtr(element), Brush.getCPtr(stroke));
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
  }

  public static float GetStrokeThickness(DependencyObject element) {
    float ret = NoesisGUI_PINVOKE.TextElement_GetStrokeThickness(DependencyObject.getCPtr(element));
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void SetStrokeThickness(DependencyObject element, float strokeThickness) {
    NoesisGUI_PINVOKE.TextElement_SetStrokeThickness(DependencyObject.getCPtr(element), strokeThickness);
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
  }

  public static DependencyProperty BackgroundProperty {
    get {
      IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_BackgroundProperty_get();
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return (DependencyProperty)Noesis.Extend.GetProxy(cPtr, false);
    }
  }

  public static DependencyProperty FontFamilyProperty {
    get {
      IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_FontFamilyProperty_get();
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return (DependencyProperty)Noesis.Extend.GetProxy(cPtr, false);
    }
  }

  public static DependencyProperty FontSizeProperty {
    get {
      IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_FontSizeProperty_get();
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return (DependencyProperty)Noesis.Extend.GetProxy(cPtr, false);
    }
  }

  public static DependencyProperty FontStretchProperty {
    get {
      IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_FontStretchProperty_get();
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return (DependencyProperty)Noesis.Extend.GetProxy(cPtr, false);
    }
  }

  public static DependencyProperty FontStyleProperty {
    get {
      IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_FontStyleProperty_get();
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return (DependencyProperty)Noesis.Extend.GetProxy(cPtr, false);
    }
  }

  public static DependencyProperty FontWeightProperty {
    get {
      IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_FontWeightProperty_get();
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return (DependencyProperty)Noesis.Extend.GetProxy(cPtr, false);
    }
  }

  public static DependencyProperty ForegroundProperty {
    get {
      IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_ForegroundProperty_get();
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return (DependencyProperty)Noesis.Extend.GetProxy(cPtr, false);
    }
  }

  public static DependencyProperty StrokeProperty {
    get {
      IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_StrokeProperty_get();
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return (DependencyProperty)Noesis.Extend.GetProxy(cPtr, false);
    }
  }

  public static DependencyProperty StrokeThicknessProperty {
    get {
      IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_StrokeThicknessProperty_get();
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return (DependencyProperty)Noesis.Extend.GetProxy(cPtr, false);
    }
  }

  public Brush Background {
    set {
      NoesisGUI_PINVOKE.TextElement_Background_set(swigCPtr, Brush.getCPtr(value));
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_Background_get(swigCPtr);
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return (Brush)Noesis.Extend.GetProxy(cPtr, false);
    }
  }

  public FontFamily FontFamily {
    set {
      NoesisGUI_PINVOKE.TextElement_FontFamily_set(swigCPtr, FontFamily.getCPtr(value));
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_FontFamily_get(swigCPtr);
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return (FontFamily)Noesis.Extend.GetProxy(cPtr, false);
    }
  }

  public float FontSize {
    set {
      NoesisGUI_PINVOKE.TextElement_FontSize_set(swigCPtr, value);
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      float ret = NoesisGUI_PINVOKE.TextElement_FontSize_get(swigCPtr);
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public FontStretch FontStretch {
    set {
      NoesisGUI_PINVOKE.TextElement_FontStretch_set(swigCPtr, (int)value);
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      FontStretch ret = (FontStretch)NoesisGUI_PINVOKE.TextElement_FontStretch_get(swigCPtr);
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public FontStyle FontStyle {
    set {
      NoesisGUI_PINVOKE.TextElement_FontStyle_set(swigCPtr, (int)value);
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      FontStyle ret = (FontStyle)NoesisGUI_PINVOKE.TextElement_FontStyle_get(swigCPtr);
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public FontWeight FontWeight {
    set {
      NoesisGUI_PINVOKE.TextElement_FontWeight_set(swigCPtr, (int)value);
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      FontWeight ret = (FontWeight)NoesisGUI_PINVOKE.TextElement_FontWeight_get(swigCPtr);
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public Brush Foreground {
    set {
      NoesisGUI_PINVOKE.TextElement_Foreground_set(swigCPtr, Brush.getCPtr(value));
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_Foreground_get(swigCPtr);
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return (Brush)Noesis.Extend.GetProxy(cPtr, false);
    }
  }

  public Brush Stroke {
    set {
      NoesisGUI_PINVOKE.TextElement_Stroke_set(swigCPtr, Brush.getCPtr(value));
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      IntPtr cPtr = NoesisGUI_PINVOKE.TextElement_Stroke_get(swigCPtr);
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return (Brush)Noesis.Extend.GetProxy(cPtr, false);
    }
  }

  public float StrokeThickness {
    set {
      NoesisGUI_PINVOKE.TextElement_StrokeThickness_set(swigCPtr, value);
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      float ret = NoesisGUI_PINVOKE.TextElement_StrokeThickness_get(swigCPtr);
      if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  new internal static IntPtr GetStaticType() {
    IntPtr ret = NoesisGUI_PINVOKE.TextElement_GetStaticType();
    if (NoesisGUI_PINVOKE.SWIGPendingException.Pending) throw NoesisGUI_PINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public TextElement() {
  }

  protected override IntPtr CreateCPtr(Type type, out bool registerExtend) {
    registerExtend = false;
    return NoesisGUI_PINVOKE.new_TextElement();
  }

}

}

