#############################################################################
## Name: XS/TextAttr.xsp
## Purpose: XS for Wx::TextAttr
## Author: Mattia Barbon
## Modified by:
## Created: 24/11/2007
## RCS-ID: $Id: TextAttr.xsp 2523 2009-02-04 23:50:57Z mbarbon $
## Copyright: (c) 2000-2003, 2005-2009 Mattia Barbon
## Licence: This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself
#############################################################################
%module{Wx};
#include <wx/textctrl.h>
%typemap{wxTextAttr*}{simple};
%typemap{const wxTextAttr&}{reference};
%typemap{wxTextAttrAlignment}{simple};
%typemap{wxFontEncoding}{simple};
%typemap{wxFontStyle}{simple};
%typemap{wxFontWeight}{simple};
%name{Wx::TextAttr} class wxTextAttr
{
%{
wxTextAttr*
wxTextAttr::new( colText = wxNullColour, colBack = wxNullColour, font = (wxFont*)&wxNullFont )
wxColour colText
wxColour colBack
wxFont* font
CODE:
if( items == 1 )
RETVAL = new wxTextAttr();
else
RETVAL = new wxTextAttr( colText, colBack, *font );
OUTPUT:
RETVAL
%}
## // thread OK
%{
void
wxTextAttr::DESTROY()
CODE:
wxPli_thread_sv_unregister( aTHX_ "Wx::TextAttr", THIS, ST(0) );
delete THIS;
static void
wxTextAttr::CLONE()
CODE:
wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
%}
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
bool Apply(const wxTextAttr& style, wxTextAttr* compareWith = NULL );
#endif
#if WXPERL_W_VERSION_GE( 2, 7, 0 )
void Merge( const wxTextAttr& overlay );
#endif
void SetTextColour( const wxColour& colText );
void SetBackgroundColour( const wxColour& colBack );
void SetFont( const wxFont& font, long flags = wxTEXT_ATTR_FONT );
void SetAlignment( wxTextAttrAlignment alignment );
void SetTabs( const wxArrayInt& tabs );
void SetLeftIndent( int indent, int subIndent = 0 );
void SetRightIndent( int indent );
void SetFlags( long flags );
bool HasTextColour() const;
bool HasBackgroundColour() const;
bool HasFont() const;
bool HasAlignment() const;
bool HasTabs() const;
bool HasLeftIndent() const;
bool HasRightIndent() const;
bool HasFlag( long flag ) const;
const wxColour& GetTextColour() const;
const wxColour& GetBackgroundColour() const;
const wxFont& GetFont() const;
wxTextAttrAlignment GetAlignment() const;
long GetLeftIndent() const;
long GetLeftSubIndent() const;
long GetRightIndent() const;
long GetFlags() const;
bool IsDefault() const;
%{
void
wxTextAttr::GetTabs()
PPCODE:
const wxArrayInt& tabs = THIS->GetTabs();
PUTBACK;
wxPli_intarray_push( aTHX_ tabs );
SPAGAIN;
%}
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
wxFontEncoding GetFontEncoding() const;
bool HasFontEncoding() const;
void SetFontEncoding( wxFontEncoding encoding );
## wxTextAttrEx
int GetOutlineLevel() const;
bool HasOutlineLevel() const;
void SetOutlineLevel( int level );
int GetTextEffects() const;
bool HasTextEffects() const;
void SetTextEffects( int effects );
int GetTextEffectFlags() const;
bool HasTextEffect( int effect ) const;
void SetTextEffectFlags( int effects );
#endif
## in 2.9, from wxTextAttrEx and wxRichTextAttr
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
## wxTextAttrEx
void SetCharacterStyleName( const wxString& name );
void SetParagraphStyleName( const wxString& name );
void SetListStyleName( const wxString& name );
void SetParagraphSpacingAfter( int spacing );
void SetParagraphSpacingBefore( int spacing );
void SetLineSpacing( int spacing );
void SetBulletStyle( int style );
void SetBulletNumber( int n );
void SetBulletText( const wxString& text );
void SetBulletName( const wxString& name );
void SetBulletFont( const wxString& bulletFont );
void SetURL( const wxString& url );
void SetPageBreak( bool pageBreak = true );
const wxString& GetCharacterStyleName() const;
const wxString& GetParagraphStyleName() const;
const wxString& GetListStyleName() const;
int GetParagraphSpacingAfter() const;
int GetParagraphSpacingBefore() const;
int GetLineSpacing() const;
int GetBulletStyle() const;
int GetBulletNumber() const;
const wxString& GetBulletText() const;
const wxString& GetBulletName() const;
const wxString& GetBulletFont() const;
const wxString& GetURL() const;
bool HasParagraphSpacingAfter() const;
bool HasParagraphSpacingBefore() const;
bool HasLineSpacing() const;
bool HasCharacterStyleName() const;
bool HasParagraphStyleName() const;
bool HasListStyleName() const;
bool HasBulletStyle() const;
bool HasBulletNumber() const;
bool HasBulletText() const;
bool HasBulletName() const;
bool HasURL() const;
bool HasPageBreak() const;
bool IsCharacterStyle() const;
bool IsParagraphStyle() const;
## wxRichTextAttr
#if WXPERL_W_VERSION_LT( 2, 9, 0 )
wxFont CreateFont() const;
#endif
bool GetFontAttributes( const wxFont& font );
void SetFontSize( int pointSize );
void SetFontStyle( wxFontStyle fontStyle );
void SetFontWeight( wxFontWeight fontWeight );
void SetFontFaceName( const wxString& faceName );
void SetFontUnderlined( bool underlined );
int GetFontSize() const;
wxFontStyle GetFontStyle() const;
wxFontWeight GetFontWeight() const;
bool GetFontUnderlined() const;
const wxString& GetFontFaceName() const;
bool HasFontWeight() const;
bool HasFontSize() const;
bool HasFontItalic() const;
bool HasFontUnderlined() const;
bool HasFontFaceName() const;
#endif
};