/// <summary> /// Draw a texture. /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <param name="nw"></param> /// <param name="nh"></param> /// <param name="uoff"></param> /// <param name="voff"></param> /// <param name="umax"></param> /// <param name="vmax"></param> /// <param name="color"></param> public void Draw(float x, float y, float nw, float nh, float uoff, float voff, float umax, float vmax, uint color) { if (_textureNumber >= 0) { float[,] matrix = GUIGraphicsContext.GetFinalMatrix(); DXNative.FontEngineDrawTextureSync(_textureNumber, x, y, nw, nh, uoff, voff, umax, vmax, color, matrix); } }
/// <summary> /// Draw a texture rotated around (x,y). /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <param name="nw"></param> /// <param name="nh"></param> /// <param name="zrot"></param> /// <param name="uoff"></param> /// <param name="voff"></param> /// <param name="umax"></param> /// <param name="vmax"></param> /// <param name="color"></param> public void Draw(float x, float y, float nw, float nh, float zrot, float uoff, float voff, float umax, float vmax, uint color) { if (_textureNumber >= 0) { // Rotate around the x,y point of the specified rectangle; maintain aspect ratio (1.0f) TransformMatrix localTransform = new TransformMatrix(); localTransform.SetZRotation(zrot, x, y, 1.0f); TransformMatrix finalTransform = GUIGraphicsContext.GetFinalTransform(); localTransform = finalTransform.multiply(localTransform); DXNative.FontEngineDrawTextureSync(_textureNumber, x, y, nw, nh, uoff, voff, umax, vmax, color, localTransform.Matrix); } }