//+------------------------------------------------------------------+ //| Textro.mqh | //| Copyright 2025, Niquel Mendoza. | //| https://www.mql5.com/es/users/nique_372/news | //+------------------------------------------------------------------+ #property copyright "Copyright 2025, Niquel Mendoza." #property link "https://www.mql5.com/es/users/nique_372/news" #property strict #ifndef HISTOGRAM_BARRA_TEXTO_BY_LEO_MQH #define HISTOGRAM_BARRA_TEXTO_BY_LEO_MQH //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ enum ENUM_HISTOGRAM_TEXT_MODE { HISTOGRAM_TEXT_MODE_CENTER = TA_CENTER | TA_VCENTER, // Centro HISTOGRAM_TEXT_MODE_LEFT_UPPER = TA_LEFT | TA_TOP, // Esquina izquierda superior HISTOGRAM_TEXT_MODE_RIGHT_UPPER = TA_RIGHT | TA_TOP // Esquina derecha superior }; //--- Etiqueta de cada barra struct HistogramBarLabel { string value; string font; int x; int y; uint clr; ENUM_HISTOGRAM_TEXT_MODE mode; int font_size; }; //--- typedef void(*HistogramFuncionCalcTextCordinates)(int, int, int, int, int&, int&); namespace HistogramFuncTxtCalc { __forceinline void HFCTextCenter(int x1, int x2, int y1, int y2, int&x, int&y) { x = x1 + ((x2 - x1) >> 1); y = y1 + ((y2 - y1) >> 1); } __forceinline void HFCTextLeftUpper(int x1, int x2, int y1, int y2, int&x, int&y) { x = x1; y = y1; } __forceinline void HFCTextRightUpper(int x1, int x2, int y1, int y2, int&x, int&y) { x = x2; y = y1; } } //+------------------------------------------------------------------+ #endif