/// <summary> /// Draw text /// </summary> /// <param name="text">Text to drawn</param> /// <param name="x">X position in pixel</param> /// <param name="y">Y position in pixel</param> /// <param name="align">Horizontal alignment</param> /// <param name="color">Color</param> /// <param name="xScale">X Scale</param> /// <param name="yScale">Y Scale</param> /// <param name="font">Font</param> /// <param name="screenHeight">Height of screen in pixel</param> /// <param name="screenWidth">Width of screen in pixel</param> public static void DrawText(string text, int x, int y, GlobalConst.HAlign align, Color color, float xScale = 0.45f, float yScale = 0.45f, GTA.Font font = GTA.Font.ChaletLondon, int screenWidth = GlobalConst.DEFAULT_SCREEN_WIDTH, int screenHeight = GlobalConst.DEFAULT_SCREEN_HEIGHT) { Function.Call(Hash.SET_TEXT_FONT, (int)font); Function.Call(Hash.SET_TEXT_SCALE, xScale, yScale); Function.Call(Hash.SET_TEXT_COLOUR, color.R, color.G, color.B, color.A); Function.Call(Hash.SET_TEXT_WRAP, 0.0f, 1.0f); switch (align) { case GlobalConst.HAlign.Left: Function.Call(Hash.SET_TEXT_CENTRE, 0); break; case GlobalConst.HAlign.Center: Function.Call(Hash.SET_TEXT_CENTRE, 1); break; case GlobalConst.HAlign.Right: Function.Call(Hash.SET_TEXT_RIGHT_JUSTIFY, 1); break; } //Function.Call(Hash.SET_TEXT_DROP_SHADOW, 0, 0, 0, 0, 0); //Function.Call(Hash.SET_TEXT_EDGE, 0, 0, 0, 0, 0); Function.Call(Hash._SET_TEXT_ENTRY, "STRING"); Function.Call(Hash._ADD_TEXT_COMPONENT_STRING, text); Function.Call(Hash._DRAW_TEXT, (float)x / screenWidth, (float)y / screenHeight); }
/// <summary> /// Draw text /// </summary> /// <param name="text">Text to drawn</param> /// <param name="x">X position in pixel</param> /// <param name="y">Y position in pixel</param> /// <param name="align">Horizontal alignment</param> /// <param name="color">Color</param> /// <param name="xScale">X Scale</param> /// <param name="yScale">Y Scale</param> /// <param name="font">Font</param> /// <param name="shadowOffset">Offset of shadow</param> /// <param name="shadowColor">Color of shadow</param> /// <param name="screenHeight">Height of screen in pixel</param> /// <param name="screenWidth">Width of screen in pixel</param> public static void DrawText(MString text, int x, int y, GlobalConst.HAlign align, Color color, float xScale = 0.35f, float yScale = 0.35f, GTA.Font font = GTA.Font.ChaletLondon, Point shadowOffset = new Point(), Color shadowColor = new Color(), int screenWidth = GlobalConst.DEFAULT_SCREEN_WIDTH, int screenHeight = GlobalConst.DEFAULT_SCREEN_HEIGHT) { if (shadowOffset.X != 0 || shadowOffset.Y != 0) { DrawText(text, x + shadowOffset.X, y + shadowOffset.Y, align, shadowColor, xScale, yScale, font, new Point(), Color.Black, screenWidth, screenHeight); } Function.Call(Hash.SET_TEXT_FONT, (int)font); Function.Call(Hash.SET_TEXT_SCALE, xScale, yScale); Function.Call(Hash.SET_TEXT_COLOUR, color.R, color.G, color.B, color.A); switch (align) { case GlobalConst.HAlign.Left: Function.Call(Hash.SET_TEXT_CENTRE, 0); break; case GlobalConst.HAlign.Center: Function.Call(Hash.SET_TEXT_CENTRE, 1); break; case GlobalConst.HAlign.Right: Function.Call(Hash.SET_TEXT_RIGHT_JUSTIFY, 1); break; } Function.Call(Hash._SET_TEXT_ENTRY, "STRING"); Function.Call(Hash._ADD_TEXT_COMPONENT_STRING, ML(text)); Function.Call(Hash._DRAW_TEXT, (float)x / screenWidth, (float)y / screenHeight); }