SvgElement.cs 35.7 KB
Newer Older
1001
1002
        void RegisterAction<T1, T2, T3, T4, T5, T6, T7>(string rpcID, Action<T1, T2, T3, T4, T5, T6, T7> action);
        void RegisterAction<T1, T2, T3, T4, T5, T6, T7, T8>(string rpcID, Action<T1, T2, T3, T4, T5, T6, T7, T8> action);
1003
        void UnregisterAction(string rpcID);
1004
    }
Eric Domke's avatar
Eric Domke committed
1005
#endif
1006

Tebjan Halm's avatar
Tebjan Halm committed
1007
1008
1009
    /// <summary>
    /// Represents the state of the mouse at the moment the event occured.
    /// </summary>
Tebjan Halm's avatar
Tebjan Halm committed
1010
    public class MouseArg : SVGArg
Tebjan Halm's avatar
Tebjan Halm committed
1011
1012
1013
1014
1015
    {
        public float x;
        public float y;

        /// <summary>
1016
        /// 1 = left, 2 = middle, 3 = right
Tebjan Halm's avatar
Tebjan Halm committed
1017
        /// </summary>
1018
        public int Button;
1019
        
1020
1021
1022
        /// <summary>
        /// Amount of mouse clicks, e.g. 2 for double click
        /// </summary>
1023
        public int ClickCount = -1;
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
        
        /// <summary>
        /// Alt modifier key pressed
        /// </summary>
        public bool AltKey;
        
        /// <summary>
        /// Shift modifier key pressed
        /// </summary>
        public bool ShiftKey;
        
        /// <summary>
        /// Control modifier key pressed
        /// </summary>
        public bool CtrlKey;
1039
    }
joreg's avatar
joreg committed
1040
1041
1042
1043
    
    /// <summary>
    /// Represents a string argument
    /// </summary>
Tebjan Halm's avatar
Tebjan Halm committed
1044
    public class StringArg : SVGArg
joreg's avatar
joreg committed
1045
1046
1047
    {
        public string s;
    }
1048
1049
1050
1051
    
    public class MouseScrollArg : SVGArg
    {
    	public int Scroll;
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
    	
    	/// <summary>
        /// Alt modifier key pressed
        /// </summary>
        public bool AltKey;
        
        /// <summary>
        /// Shift modifier key pressed
        /// </summary>
        public bool ShiftKey;
        
        /// <summary>
        /// Control modifier key pressed
        /// </summary>
        public bool CtrlKey;
1067
    }
1068

1069
1070
1071
1072
1073
    public interface ISvgNode
    {
        string Content { get; }
    }

davescriven's avatar
davescriven committed
1074
1075
    internal interface ISvgElement
    {
1076
1077
		SvgElement Parent {get;}
		SvgElementCollection Children { get; }
1078
        IList<ISvgNode> Nodes { get; }
1079

1080
        void Render(SvgRenderer renderer);
davescriven's avatar
davescriven committed
1081
1082
    }
}