xref: /MusicPlayer2/MusicPlayer2/CPlayerUIHelper.cpp (revision 3cbe69b48d1fd401d1871018becae882cc111dd1)
1 #include "stdafx.h"
2 #include "CPlayerUIHelper.h"
3 #include "MusicPlayer2.h"
4 #include "Player.h"
5 
6 
CPlayerUIHelper()7 CPlayerUIHelper::CPlayerUIHelper()
8 {
9 }
10 
11 
~CPlayerUIHelper()12 CPlayerUIHelper::~CPlayerUIHelper()
13 {
14 }
15 
GetUIColors(const ColorTable & colorTable,bool dark,bool draw_alpha)16 UIColors CPlayerUIHelper::GetUIColors(const ColorTable & colorTable, bool dark, bool draw_alpha)
17 {
18     UIColors colors{};
19     //if (theApp.m_app_setting_data.dark_mode)
20     if (dark)
21     {
22         colors.color_text = ColorTable::WHITE;
23         colors.color_text_lable = theApp.m_app_setting_data.theme_color.light2;
24         colors.color_text_2 = theApp.m_app_setting_data.theme_color.light1;
25         colors.color_text_heighlight = theApp.m_app_setting_data.theme_color.light2;
26         colors.color_back = GRAY(64);
27         colors.color_lyric_back = theApp.m_app_setting_data.theme_color.dark3;
28         colors.color_control_bar_back = theApp.m_app_setting_data.theme_color.dark2;
29         colors.color_spectrum = theApp.m_app_setting_data.theme_color.light2;
30         colors.color_spectrum_cover = theApp.m_app_setting_data.theme_color.original_color;
31         colors.color_spectrum_back = theApp.m_app_setting_data.theme_color.dark1;
32         colors.color_button_back = theApp.m_app_setting_data.theme_color.dark3;
33         colors.color_stack_indicator = theApp.m_app_setting_data.theme_color.light2;
34         colors.color_scrollbar_handle = theApp.m_app_setting_data.theme_color.dark1;
35         if (draw_alpha)
36         {
37             colors.color_button_pressed = theApp.m_app_setting_data.theme_color.light2;
38             colors.color_button_hover = theApp.m_app_setting_data.theme_color.light1;
39         }
40         else
41         {
42             colors.color_button_pressed = theApp.m_app_setting_data.theme_color.dark0;
43             colors.color_button_hover = theApp.m_app_setting_data.theme_color.dark1;
44         }
45     }
46     else
47     {
48         colors.color_text = theApp.m_app_setting_data.theme_color.dark2;
49         colors.color_text_lable = theApp.m_app_setting_data.theme_color.original_color;
50         colors.color_text_2 = theApp.m_app_setting_data.theme_color.light1;
51         colors.color_text_heighlight = theApp.m_app_setting_data.theme_color.dark1;
52         colors.color_back = ColorTable::WHITE;
53         colors.color_lyric_back = theApp.m_app_setting_data.theme_color.light3;
54         colors.color_control_bar_back = theApp.m_app_setting_data.theme_color.light3;
55         colors.color_spectrum = theApp.m_app_setting_data.theme_color.original_color;
56         colors.color_spectrum_cover = theApp.m_app_setting_data.theme_color.original_color;
57         colors.color_spectrum_back = theApp.m_app_setting_data.theme_color.light3;
58         colors.color_button_back = theApp.m_app_setting_data.theme_color.light2;
59         colors.color_stack_indicator = theApp.m_app_setting_data.theme_color.dark0;
60         colors.color_scrollbar_handle = theApp.m_app_setting_data.theme_color.light2;
61         if (draw_alpha)
62         {
63             colors.color_button_pressed = theApp.m_app_setting_data.theme_color.dark0;
64             colors.color_button_hover = theApp.m_app_setting_data.theme_color.light1_5;
65         }
66         else
67         {
68             colors.color_button_pressed = theApp.m_app_setting_data.theme_color.light1_5;
69             colors.color_button_hover = theApp.m_app_setting_data.theme_color.light2_5;
70         }
71     }
72 
73     return colors;
74 }
75 
IsMidiLyric()76 bool CPlayerUIHelper::IsMidiLyric()
77 {
78     return CPlayer::GetInstance().IsMidi() && theApp.m_play_setting_data.midi_use_inner_lyric && !CPlayer::GetInstance().MidiNoLyric();
79 }
80 
IsDrawStatusBar()81 bool CPlayerUIHelper::IsDrawStatusBar()
82 {
83     return theApp.m_app_setting_data.always_show_statusbar || CPlayer::GetInstance().m_loading || (theApp.IsMeidaLibUpdating() && theApp.m_media_update_para.num_added > 0)
84 		/*|| CPlayer::GetInstance().GetABRepeatMode() != CPlayer::AM_NONE*/;
85 
86 }
87 
GetScrollTextPixel()88 double CPlayerUIHelper::GetScrollTextPixel()
89 {
90     //界面刷新频率越高,即界面刷新时间间隔越小,则每次滚动的像素值就要越小
91     double pixel = static_cast<double>(theApp.m_app_setting_data.ui_refresh_interval) * 0.0125 + 0.2;
92     pixel = static_cast<double>(theApp.GetDPI()) * pixel / 96;
93     if (pixel < 0.1)
94         pixel = 0.1;
95     if (pixel > 0.5 && pixel < 1)
96         pixel = 1;
97     return pixel;
98 }
99