66 const auto activeWindow = QColor(
"#FFFFFFFF");
67 const auto activeButtonText = QColor(
"#0A59F7");
68 const auto activeHighlight = QColor(
"#FF007DFF");
69 const auto highlighted = QColor(
"#FF0A59F7");
70 const auto textPrimary = QColor(
"#FF182431");
73 .activeWindow = activeWindow,
74 .inactiveWindow = makeInactiveOrDisabledFromColor(activeWindow),
75 .activeButtonText = activeButtonText,
76 .inactiveButtonText = makeInactiveOrDisabledFromColor(activeButtonText),
77 .activeHighlight = activeHighlight,
78 .inactiveHighlight = makeInactiveOrDisabledFromColor(activeHighlight),
79 .clickEffect = QColor(
"#1A000000"),
80 .hover = QColor(
"#0D000000"),
81 .foregroundContrary = QColor(
"#FFFFFF"),
82 .highlighted = highlighted,
83 .inactiveHighlighted = makeInactiveOrDisabledFromColor(highlighted),
84 .textPrimary = textPrimary,
85 .inactiveTextPrimary = textPrimary,
86 .disabledTextPrimary = makeInactiveOrDisabledFromColor(textPrimary),
87 .inactiveText = makeInactiveOrDisabledFromColor(textPrimary),
88 .componentNormal = QColor(
"#19182431"),
89 .componentActivated = QColor(
"#007DFF"),
90 .indicatorArrow = QColor(
"#E5182431"),
91 .scrollBarSlider = QColor(
"#182431"),
92 .switchBgOff = QColor(
"#33FFFFFF"),
93 .switchOutlineOff = QColor(
"#66182431"),
94 .window = QColor(
"#FFF1F3F5"),
100 const auto activeWindow = QColor(
"#18181A");
101 const auto activeButtonText = QColor(
"#3F97E9");
102 const auto activeHighlight = QColor(
"#006CDE");
103 const auto highlighted = QColor(
"#3F97E9");
104 const auto textPrimary = QColor(
"#DBFFFFFF");
107 .activeWindow = activeWindow,
108 .inactiveWindow = makeInactiveOrDisabledFromColor(activeWindow),
109 .activeButtonText = activeButtonText,
110 .inactiveButtonText = makeInactiveOrDisabledFromColor(activeButtonText),
111 .activeHighlight = activeHighlight,
112 .inactiveHighlight = makeInactiveOrDisabledFromColor(activeHighlight),
113 .clickEffect = QColor(
"#26FFFFFF"),
114 .hover = QColor(
"#19FFFFFF"),
115 .foregroundContrary = QColor(
"#E5E5E5"),
116 .highlighted = highlighted,
117 .inactiveHighlighted = makeInactiveOrDisabledFromColor(highlighted),
118 .textPrimary = textPrimary,
119 .inactiveTextPrimary = textPrimary,
120 .disabledTextPrimary = makeInactiveOrDisabledFromColor(textPrimary),
121 .inactiveText = makeInactiveOrDisabledFromColor(textPrimary),
122 .componentNormal = QColor(
"#19FFFFFF"),
123 .componentActivated = QColor(
"#3F97E9"),
124 .indicatorArrow = QColor(
"#DBFFFFFF"),
125 .scrollBarSlider = QColor(
"#FFFFFF"),
126 .switchBgOff = QColor(
"#33000000"),
127 .switchOutlineOff = QColor(
"#66FFFFFF"),
128 .window = QColor(
"#FF000000"),
442 {QPalette::Active, QPalette::AlternateBase, palettesColors.palettes.componentActivated},
444 {QPalette::Active, QPalette::Button, palettesColors.button.activeButton},
445 {QPalette::Disabled, QPalette::Button, palettesColors.button.inactiveButton},
446 {QPalette::Inactive, QPalette::Button, palettesColors.button.inactiveButton},
448 {QPalette::Active, QPalette::ButtonText, palettesColors.palettes.activeButtonText},
449 {QPalette::Disabled, QPalette::ButtonText, palettesColors.palettes.inactiveButtonText},
450 {QPalette::Inactive, QPalette::ButtonText, palettesColors.palettes.inactiveButtonText},
452 {QPalette::All, QPalette::BrightText, palettesColors.button.enabledDefaultButtonText},
454 {QPalette::Active, QPalette::Light, palettesColors.palettes.hover},
455 {QPalette::Active, QPalette::Dark, palettesColors.palettes.clickEffect},
457 {QPalette::Active, QPalette::Highlight, palettesColors.button.focusedOutline},
458 {QPalette::Active, QPalette::WindowText, palettesColors.palettes.indicatorArrow}
475 {QPalette::Active, QPalette::Window, palettesColors.palettes.activeWindow},
476 {QPalette::Disabled, QPalette::Window, palettesColors.palettes.inactiveWindow},
477 {QPalette::Inactive, QPalette::Window, palettesColors.palettes.inactiveWindow},
479 {QPalette::Active, QPalette::WindowText, palettesColors.palettes.textPrimary},
480 {QPalette::Disabled, QPalette::WindowText, palettesColors.palettes.disabledTextPrimary},
481 {QPalette::Inactive, QPalette::WindowText, palettesColors.palettes.inactiveTextPrimary},
483 {QPalette::Active, QPalette::Text, palettesColors.palettes.textPrimary},
484 {QPalette::Disabled, QPalette::Text, palettesColors.palettes.disabledTextPrimary},
485 {QPalette::Inactive, QPalette::Text, palettesColors.palettes.inactiveTextPrimary},
487 {QPalette::Active, QPalette::Base, palettesColors.system.activeWindowFrame},
488 {QPalette::Disabled, QPalette::Base, palettesColors.system.inactiveWindowFrame},
489 {QPalette::Inactive, QPalette::Base, palettesColors.system.inactiveWindowFrame},
491 {QPalette::Active, QPalette::AlternateBase, palettesColors.palettes.textPrimary},
493 {QPalette::Active, QPalette::Highlight, palettesColors.palettes.highlighted},
495 {QPalette::All, QPalette::PlaceholderText, palettesColors.system.textHint},
496 {QPalette::Disabled, QPalette::PlaceholderText, palettesColors.system.textTertiary},
498 {QPalette::Active, QPalette::Midlight, palettesColors.palettes.scrollBarSlider},
500 {QPalette::Active, QPalette::Mid, palettesColors.palettes.componentNormal}
508 {QPalette::Inactive, QPalette::Base, palettesColors.palettes.switchBgOff},
509 {QPalette::Inactive, QPalette::Button, palettesColors.palettes.switchOutlineOff},
510 {QPalette::Active, QPalette::Button, palettesColors.palettes.highlighted},
511 {QPalette::Active, QPalette::WindowText, palettesColors.palettes.highlighted},
512 {QPalette::Inactive, QPalette::WindowText, palettesColors.palettes.inactiveText},
513 {QPalette::Disabled, QPalette::WindowText, palettesColors.palettes.inactiveHighlighted},
514 {QPalette::Active, QPalette::Light, palettesColors.palettes.hover},
515 {QPalette::Active, QPalette::Dark, palettesColors.palettes.clickEffect},
523 {QPalette::Active, QPalette::AlternateBase, palettesColors.palettes.componentActivated},
524 {QPalette::All, QPalette::Base, palettesColors.palettes.window},
525 {QPalette::All, QPalette::Window, palettesColors.palettes.window},
526 {QPalette::Active, QPalette::Text, palettesColors.palettes.highlighted},
527 {QPalette::Disabled, QPalette::Text, palettesColors.palettes.inactiveText},
528 {QPalette::Inactive, QPalette::Text, palettesColors.palettes.inactiveHighlighted},
529 {QPalette::Active, QPalette::Light, palettesColors.palettes.hover},
530 {QPalette::Active, QPalette::Dark, palettesColors.palettes.clickEffect},
531 {QPalette::Active, QPalette::WindowText, palettesColors.palettes.indicatorArrow}
539 {QPalette::Active, QPalette::Window, palettesColors.palettes.activeWindow},
540 {QPalette::Inactive, QPalette::Base, palettesColors.palettes.switchBgOff},
541 {QPalette::Inactive, QPalette::Button, palettesColors.palettes.switchOutlineOff},
542 {QPalette::Active, QPalette::Button, palettesColors.palettes.highlighted},
544 {QPalette::Active, QPalette::Text, palettesColors.palettes.textPrimary},
545 {QPalette::Disabled, QPalette::Text, palettesColors.menu.inactiveText},
546 {QPalette::Inactive, QPalette::Text, palettesColors.menu.inactiveText},
548 {QPalette::Active, QPalette::Light, palettesColors.palettes.hover},
549 {QPalette::Active, QPalette::Dark, palettesColors.palettes.clickEffect},
551 {QPalette::Active, QPalette::Mid, palettesColors.menu.listSeparator}
569 {QPalette::Active, QPalette::WindowText, palettesColors.tabBar.activeWindowText},
570 {QPalette::Inactive, QPalette::WindowText, palettesColors.tabBar.inactiveWindowText},
571 {QPalette::Disabled, QPalette::WindowText, palettesColors.tabBar.disabledWindowText},
573 {QPalette::Active, QPalette::Window, palettesColors.palettes.activeWindow},
574 {QPalette::Inactive, QPalette::Window, palettesColors.palettes.inactiveWindow},
575 {QPalette::Disabled, QPalette::Window, palettesColors.palettes.inactiveWindow},
577 {QPalette::Active, QPalette::Highlight, palettesColors.palettes.activeHighlight},
578 {QPalette::Inactive, QPalette::Highlight, palettesColors.palettes.inactiveHighlight},
579 {QPalette::Disabled, QPalette::Highlight, palettesColors.palettes.inactiveHighlight},
586 makeSystemPalette(palettesColors),
588 {QPalette::Active, QPalette::AlternateBase, palettesColors.palettes.componentActivated},
589 {QPalette::All, QPalette::Base, palettesColors.textLineEdit.textEditBackground},
590 {QPalette::Disabled, QPalette::Base, palettesColors.textLineEdit.inactiveTextEditBackground},
591 {QPalette::All, QPalette::Text, palettesColors.palettes.textPrimary},
592 {QPalette::Disabled, QPalette::Text, palettesColors.palettes.disabledTextPrimary},
609 {QPalette::Active, QPalette::Button, palettesColors.palettes.highlighted},
610 {QPalette::Inactive, QPalette::Button, palettesColors.palettes.switchOutlineOff},
611 {QPalette::Active, QPalette::Base, palettesColors.system.activeWindowFrame},
612 {QPalette::Inactive, QPalette::Base, palettesColors.palettes.switchBgOff},
613 {QPalette::Active, QPalette::AlternateBase, palettesColors.groupBox.groupBoxFrame},
614 {QPalette::Active, QPalette::Window, palettesColors.groupBox.background},
615 {QPalette::Inactive, QPalette::Window, palettesColors.groupBox.background},
616 {QPalette::Active, QPalette::Window, palettesColors.palettes.window},
617 {QPalette::Disabled, QPalette::Window, palettesColors.palettes.window},
618 {QPalette::Active, QPalette::Text, palettesColors.palettes.highlighted},
619 {QPalette::Inactive, QPalette::Text, palettesColors.palettes.highlighted},
620 {QPalette::Disabled, QPalette::Text, palettesColors.palettes.inactiveHighlighted},
621 {QPalette::Current, QPalette::Text, palettesColors.palettes.highlighted},
622 {QPalette::Disabled, QPalette::WindowText, palettesColors.palettes.inactiveHighlighted},
623 {QPalette::Active, QPalette::ButtonText, palettesColors.palettes.textPrimary},
624 {QPalette::Disabled, QPalette::ButtonText, palettesColors.palettes.inactiveHighlighted},
625 {QPalette::Active, QPalette::Dark, palettesColors.palettes.clickEffect},
626 {QPalette::Active, QPalette::Light, palettesColors.palettes.hover},
627 {QPalette::Active, QPalette::Shadow, palettesColors.groupBox.shadowXS},
628 {QPalette::Active, QPalette::Midlight, palettesColors.palettes.scrollBarSlider},
629 {QPalette::Active, QPalette::Mid, palettesColors.palettes.componentNormal}
637 {QPalette::Active, QPalette::Button, palettesColors.header.activeButton},
638 {QPalette::Inactive, QPalette::Button, palettesColors.header.activeButton},
639 {QPalette::Disabled, QPalette::Button, palettesColors.palettes.inactiveWindow},
641 {QPalette::Current, QPalette::ButtonText, palettesColors.palettes.activeButtonText},
642 {QPalette::Active, QPalette::ButtonText, palettesColors.palettes.activeButtonText},
643 {QPalette::Inactive, QPalette::ButtonText, palettesColors.palettes.activeButtonText},
644 {QPalette::Disabled, QPalette::ButtonText, palettesColors.palettes.inactiveButtonText},
652 {QPalette::Active, QPalette::Base, palettesColors.palettes.window},
653 {QPalette::Inactive, QPalette::Base, palettesColors.palettes.window},
654 {QPalette::Disabled, QPalette::Base, palettesColors.palettes.window},
656 {QPalette::Active, QPalette::AlternateBase, palettesColors.palettes.activeWindow},
657 {QPalette::Inactive, QPalette::AlternateBase, palettesColors.palettes.activeWindow},
658 {QPalette::Disabled, QPalette::AlternateBase, palettesColors.palettes.inactiveWindow},
659 {QPalette::Current, QPalette::AlternateBase, palettesColors.palettes.activeWindow},
661 {QPalette::Active, QPalette::Highlight, palettesColors.palettes.activeHighlight},
662 {QPalette::Inactive, QPalette::Highlight, palettesColors.palettes.activeHighlight},
663 {QPalette::Disabled, QPalette::Highlight, palettesColors.palettes.inactiveHighlight},
665 {QPalette::Active, QPalette::Window, palettesColors.palettes.activeWindow},
666 {QPalette::Inactive, QPalette::Window, palettesColors.palettes.activeWindow},
667 {QPalette::Disabled, QPalette::Window, palettesColors.palettes.inactiveWindow},
669 {QPalette::Active, QPalette::Text, palettesColors.palettes.activeHighlight},
670 {QPalette::Inactive, QPalette::Text, palettesColors.palettes.activeHighlight},
671 {QPalette::Disabled, QPalette::Text, palettesColors.palettes.inactiveHighlight},
673 {QPalette::Active, QPalette::HighlightedText, palettesColors.palettes.activeWindow},
674 {QPalette::Inactive, QPalette::HighlightedText, palettesColors.palettes.activeWindow},
675 {QPalette::Disabled, QPalette::HighlightedText, palettesColors.palettes.inactiveWindow},
677 {QPalette::Active, QPalette::Dark, palettesColors.palettes.activeWindow},
678 {QPalette::Inactive, QPalette::Dark, palettesColors.palettes.activeWindow},
679 {QPalette::Disabled, QPalette::Dark, palettesColors.palettes.inactiveWindow},
680 {QPalette::Current, QPalette::Dark, palettesColors.palettes.activeWindow},
681 {QPalette::All, QPalette::Dark, palettesColors.palettes.activeWindow},
683 {QPalette::Active, QPalette::Light, palettesColors.palettes.hover},
684 {QPalette::Inactive, QPalette::Light, palettesColors.palettes.activeWindow},
685 {QPalette::Disabled, QPalette::Light, palettesColors.palettes.inactiveWindow},
687 {QPalette::Active, QPalette::Mid, palettesColors.palettes.activeWindow},
688 {QPalette::Inactive, QPalette::Mid, palettesColors.palettes.activeWindow},
689 {QPalette::Disabled, QPalette::Mid, palettesColors.palettes.inactiveWindow},
690 {QPalette::Current, QPalette::Mid, palettesColors.palettes.activeWindow},
691 {QPalette::All, QPalette::Mid, palettesColors.palettes.activeWindow},
699 {QPalette::Active, QPalette::WindowText, palettesColors.palettes.highlighted},
700 {QPalette::Inactive, QPalette::WindowText, palettesColors.palettes.inactiveText},
701 {QPalette::Disabled, QPalette::WindowText, palettesColors.palettes.inactiveHighlighted},
703 {QPalette::Active, QPalette::Text, palettesColors.palettes.highlighted},
704 {QPalette::Disabled, QPalette::Text, palettesColors.palettes.inactiveText},
705 {QPalette::Inactive, QPalette::Text, palettesColors.palettes.inactiveHighlighted},
764 {QPlatformTheme::ButtonPalette, makeButtonPalette(palettesColors)},
765 {QPlatformTheme::CheckBoxPalette, makeCheckBoxOrRadioButtonPalette(palettesColors)},
766 {QPlatformTheme::ComboBoxPalette, makeComboBoxPalette(palettesColors)},
767 {QPlatformTheme::GroupBoxPalette, makeGroupBoxPalette(palettesColors)},
768 {QPlatformTheme::HeaderPalette, makeHeaderPalette(palettesColors)},
769 {QPlatformTheme::ItemViewPalette, makeItemViewPalette(palettesColors)},
770 {QPlatformTheme::LabelPalette, makeLabelPalette(palettesColors)},
771 {QPlatformTheme::MenuPalette, makeMenuPalette(palettesColors)},
772 {QPlatformTheme::MenuBarPalette, makeMenuBarPalette(palettesColors)},
773 {QPlatformTheme::RadioButtonPalette, makeCheckBoxOrRadioButtonPalette(palettesColors)},
774 {QPlatformTheme::SystemPalette, makeSystemPalette(palettesColors)},
775 {QPlatformTheme::TabBarPalette, makeTabBarPalette(palettesColors)},
776 {QPlatformTheme::TextEditPalette, makeTextEditPalette(palettesColors)},
777 {QPlatformTheme::TextLineEditPalette, makeTextLineEditPalette(palettesColors)},
778 {QPlatformTheme::ToolButtonPalette, makeToolButtonPalette(palettesColors)},
779 {QPlatformTheme::ToolTipPalette, makeToolTipPalette(palettesColors)},
865 std::string undocumentedParamsPropertyName(
"params");
866 auto optParams = QNapi::getOptionalPropOrEmpty<QNapi::Value>(resource, undocumentedParamsPropertyName);
867 if (optParams.IsEmpty()) {
869 "%s: expected '%s' property not found in resource object, ignore getting pixmap",
870 Q_FUNC_INFO, undocumentedParamsPropertyName.c_str());
873 if (!optParams.IsArray()) {
875 "%s: '%s' property is not an array, ignore getting pixmap",
876 Q_FUNC_INFO, undocumentedParamsPropertyName.c_str());
880 auto params = QNapi::getArrayElements<std::vector<std::string>, QNapi::String>(
881 QNapi::checkedCast<QNapi::Array>(optParams));
882 if (params.empty()) {
884 "%s: '%s' property is empty, ignore getting pixmap",
885 Q_FUNC_INFO, undocumentedParamsPropertyName.c_str());
889 const auto resourceIdentifier = params.front();
890 const auto lastSeparatorPosition = resourceIdentifier.rfind(
'.');
891 if (lastSeparatorPosition == std::string::npos) {
893 "%s: '%s' property has unknown resource name, ignore getting pixmap",
894 Q_FUNC_INFO, undocumentedParamsPropertyName.c_str());
898 const auto simpleName = resourceIdentifier.substr(lastSeparatorPosition + 1);
899 auto resourceContentBuffer = jsState.eval<QNapi::TypedArrayOf<std::uint8_t>>(
900 "@ohos.resourceManager.getSysResourceManager().getMediaByNameSync(*)", {simpleName});
903 bool pixmapLoadResult = pixmap.loadFromData(
904 static_cast<
const uchar *>(resourceContentBuffer.Data()), resourceContentBuffer.ByteLength());
906 if (pixmapLoadResult) {
907 return makeQOhosOptional(pixmap);
909 qOhosPrintfWarning(
"%s: cannot load pixmap", Q_FUNC_INFO);