Back to index

lightning-sunbird  0.9+nobinonly
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends
nsSVGMatrix Class Reference
Inheritance diagram for nsSVGMatrix:
Inheritance graph
[legend]
Collaboration diagram for nsSVGMatrix:
Collaboration graph
[legend]

List of all members.

Public Types

enum  modificationType { mod_other = 0, mod_context, mod_die }

Public Member Functions

 nsSVGMatrix (float a, float b, float c, float d, float e, float f)
NS_DECL_ISUPPORTS
NS_DECL_NSIDOMSVGMATRIX
NS_IMETHOD 
SetValueString (const nsAString &aValue)
NS_IMETHOD GetValueString (nsAString &aValue)
nsIDOMSVGMatrix multiply (in nsIDOMSVGMatrix secondMatrix)
nsIDOMSVGMatrix inverse ()
nsIDOMSVGMatrix translate (in float x, in float y)
nsIDOMSVGMatrix scale (in float scaleFactor)
nsIDOMSVGMatrix scaleNonUniform (in float scaleFactorX, in float scaleFactorY)
nsIDOMSVGMatrix rotate (in float angle)
nsIDOMSVGMatrix rotateFromVector (in float x, in float y)
nsIDOMSVGMatrix flipX ()
nsIDOMSVGMatrix flipY ()
nsIDOMSVGMatrix skewX (in float angle)
nsIDOMSVGMatrix skewY (in float angle)
NS_IMETHOD AddObserver (nsISVGValueObserver *observer)
NS_IMETHOD RemoveObserver (nsISVGValueObserver *observer)
NS_IMETHOD BeginBatchUpdate ()
NS_IMETHOD EndBatchUpdate ()
typedef NS_STDCALL_FUNCPROTO (nsresult, SVGObserverNotifyFunction, nsISVGValueObserver, DidModifySVGObservable,(nsISVGValue *, nsISVGValue::modificationType))

Public Attributes

attribute float a
attribute float b
attribute float c
attribute float d
attribute float e
attribute float f

Protected Member Functions

void WillModify (modificationType aModType=mod_other)
void DidModify (modificationType aModType=mod_other)
void ReleaseObservers ()
void NotifyObservers (SVGObserverNotifyFunction f, modificationType aModType)
PRInt32 GetModifyNestCount ()

Protected Attributes

float mA
float mB
float mC
float mD
float mE
float mF

Friends

class nsSVGValueAutoNotifier

Detailed Description

Definition at line 47 of file nsSVGMatrix.cpp.


Member Enumeration Documentation

Enumerator:
mod_other 
mod_context 
mod_die 

Definition at line 68 of file nsISVGValue.h.


Constructor & Destructor Documentation

nsSVGMatrix::nsSVGMatrix ( float  a,
float  b,
float  c,
float  d,
float  e,
float  f 
)

Definition at line 82 of file nsSVGMatrix.cpp.

  : mA(a), mB(b), mC(c), mD(d), mE(e), mF(f)
{
}

Member Function Documentation

NS_IMETHODIMP nsSVGValue::AddObserver ( nsISVGValueObserver observer) [virtual, inherited]

Implements nsISVGValue.

Definition at line 97 of file nsSVGValue.cpp.

{
  nsIWeakReference* wr = NS_GetWeakReference(observer);
  if (!wr) return NS_ERROR_FAILURE;
  mObservers.AppendElement((void*)wr);
  return NS_OK;
}

Here is the call graph for this function:

Here is the caller graph for this function:

NS_IMETHODIMP nsSVGValue::BeginBatchUpdate ( ) [virtual, inherited]

Implements nsISVGValue.

Definition at line 119 of file nsSVGValue.cpp.

{
  WillModify();
  return NS_OK;
}

Here is the call graph for this function:

void nsSVGValue::DidModify ( modificationType  aModType = mod_other) [protected, inherited]

Definition at line 86 of file nsSVGValue.cpp.

{
  NS_ASSERTION(mModifyNestCount>0, "unbalanced Will/DidModify calls");
  if (--mModifyNestCount == 0) {
    OnDidModify();
    NotifyObservers(&nsISVGValueObserver::DidModifySVGObservable, aModType);
  }
}

Here is the call graph for this function:

NS_IMETHODIMP nsSVGValue::EndBatchUpdate ( ) [virtual, inherited]

Implements nsISVGValue.

Definition at line 126 of file nsSVGValue.cpp.

{
  DidModify();
  return NS_OK;
}

Here is the call graph for this function:

PRInt32 nsSVGValue::GetModifyNestCount ( ) [inline, protected, inherited]

Definition at line 79 of file nsSVGValue.h.

{ return mModifyNestCount; }
NS_IMETHODIMP nsSVGMatrix::GetValueString ( nsAString &  aValue) [virtual]

Implements nsISVGValue.

Definition at line 318 of file nsSVGMatrix.cpp.

{
  NS_NOTYETIMPLEMENTED("nsSVGMatrix::GetValueString");
  return NS_ERROR_NOT_IMPLEMENTED;
}
void nsSVGValue::NotifyObservers ( SVGObserverNotifyFunction  f,
modificationType  aModType 
) [protected, inherited]

Definition at line 66 of file nsSVGValue.cpp.

{
  PRInt32 count = mObservers.Count();
  for (PRInt32 i = 0; i < count; ++i) {
    nsIWeakReference* wr = NS_STATIC_CAST(nsIWeakReference*,mObservers.ElementAt(i));
    nsCOMPtr<nsISVGValueObserver> observer = do_QueryReferent(wr);
    if (observer)
       (NS_STATIC_CAST(nsISVGValueObserver*,observer)->*f)(this, aModType);
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

typedef nsSVGValue::NS_STDCALL_FUNCPROTO ( nsresult  ,
SVGObserverNotifyFunction  ,
nsISVGValueObserver  ,
DidModifySVGObservable  ,
(nsISVGValue *, nsISVGValue::modificationType  
) [inherited]
void nsSVGValue::ReleaseObservers ( ) [protected, inherited]

Definition at line 53 of file nsSVGValue.cpp.

{
  PRInt32 count = mObservers.Count();
  PRInt32 i;
  for (i = 0; i < count; ++i) {
    nsIWeakReference* wr = NS_STATIC_CAST(nsIWeakReference*,mObservers.ElementAt(i));
    NS_RELEASE(wr);
  }
  while (i)
    mObservers.RemoveElementAt(--i);
}

Here is the caller graph for this function:

NS_IMETHODIMP nsSVGValue::RemoveObserver ( nsISVGValueObserver observer) [virtual, inherited]

Implements nsISVGValue.

Definition at line 106 of file nsSVGValue.cpp.

{
  nsCOMPtr<nsIWeakReference> wr = do_GetWeakReference(observer);
  if (!wr) return NS_ERROR_FAILURE;
  PRInt32 i = mObservers.IndexOf((void*)wr);
  if (i<0) return NS_ERROR_FAILURE;
  nsIWeakReference* wr2 = NS_STATIC_CAST(nsIWeakReference*,mObservers.ElementAt(i));
  NS_RELEASE(wr2);
  mObservers.RemoveElementAt(i);
  return NS_OK;
}

Here is the call graph for this function:

Here is the caller graph for this function:

nsIDOMSVGMatrix nsIDOMSVGMatrix::rotate ( in float  angle) [inherited]
nsIDOMSVGMatrix nsIDOMSVGMatrix::rotateFromVector ( in float  x,
in float  y 
) [inherited]
nsIDOMSVGMatrix nsIDOMSVGMatrix::scale ( in float  scaleFactor) [inherited]
nsIDOMSVGMatrix nsIDOMSVGMatrix::scaleNonUniform ( in float  scaleFactorX,
in float  scaleFactorY 
) [inherited]
NS_IMETHODIMP nsSVGMatrix::SetValueString ( const nsAString &  aValue) [virtual]

Implements nsISVGValue.

Definition at line 311 of file nsSVGMatrix.cpp.

{
  NS_NOTYETIMPLEMENTED("nsSVGMatrix::SetValueString");
  return NS_ERROR_NOT_IMPLEMENTED;
}
nsIDOMSVGMatrix nsIDOMSVGMatrix::skewX ( in float  angle) [inherited]
nsIDOMSVGMatrix nsIDOMSVGMatrix::skewY ( in float  angle) [inherited]
nsIDOMSVGMatrix nsIDOMSVGMatrix::translate ( in float  x,
in float  y 
) [inherited]
void nsSVGValue::WillModify ( modificationType  aModType = mod_other) [protected, inherited]

Definition at line 79 of file nsSVGValue.cpp.

Here is the call graph for this function:


Friends And Related Function Documentation

friend class nsSVGValueAutoNotifier [friend, inherited]

Definition at line 59 of file nsSVGValue.h.


Member Data Documentation

attribute float nsIDOMSVGMatrix::a [inherited]

Definition at line 44 of file nsIDOMSVGMatrix.idl.

attribute float nsIDOMSVGMatrix::b [inherited]

Definition at line 46 of file nsIDOMSVGMatrix.idl.

attribute float nsIDOMSVGMatrix::c [inherited]

Definition at line 48 of file nsIDOMSVGMatrix.idl.

attribute float nsIDOMSVGMatrix::d [inherited]

Definition at line 50 of file nsIDOMSVGMatrix.idl.

attribute float nsIDOMSVGMatrix::e [inherited]

Definition at line 52 of file nsIDOMSVGMatrix.idl.

attribute float nsIDOMSVGMatrix::f [inherited]

Definition at line 54 of file nsIDOMSVGMatrix.idl.

float nsSVGMatrix::mA [protected]

Definition at line 64 of file nsSVGMatrix.cpp.

float nsSVGMatrix::mB [protected]

Definition at line 64 of file nsSVGMatrix.cpp.

float nsSVGMatrix::mC [protected]

Definition at line 64 of file nsSVGMatrix.cpp.

float nsSVGMatrix::mD [protected]

Definition at line 64 of file nsSVGMatrix.cpp.

float nsSVGMatrix::mE [protected]

Definition at line 64 of file nsSVGMatrix.cpp.

float nsSVGMatrix::mF [protected]

Definition at line 64 of file nsSVGMatrix.cpp.


The documentation for this class was generated from the following file: