| 3938 | } |
| 3939 | |
| 3940 | bool Config::AreVirtualViewsEqual(const ConstConfigRcPtr & first, |
| 3941 | const ConstConfigRcPtr & second, |
| 3942 | const char * viewName) |
| 3943 | { |
| 3944 | const char * cs1 = first->getVirtualDisplayViewColorSpaceName(viewName); |
| 3945 | const char * cs2 = second->getVirtualDisplayViewColorSpaceName(viewName); |
| 3946 | |
| 3947 | // If the color space is not null, the display and view exist. |
| 3948 | if (cs1 && *cs1 && cs2 && *cs2) |
| 3949 | { |
| 3950 | if (Platform::Strcasecmp(cs1, cs2) == 0) |
| 3951 | { |
| 3952 | // Note the remaining strings may be empty in a valid view. |
| 3953 | // Intentionally not checking the description since it is not a functional difference. |
| 3954 | if ( (Platform::Strcasecmp(first->getVirtualDisplayViewLooks(viewName), |
| 3955 | second->getVirtualDisplayViewLooks(viewName)) == 0) && |
| 3956 | (Platform::Strcasecmp(first->getVirtualDisplayViewTransformName(viewName), |
| 3957 | second->getVirtualDisplayViewTransformName(viewName)) == 0) && |
| 3958 | (Platform::Strcasecmp(first->getVirtualDisplayViewRule(viewName), |
| 3959 | second->getVirtualDisplayViewRule(viewName)) == 0) ) |
| 3960 | { |
| 3961 | return true; |
| 3962 | } |
| 3963 | } |
| 3964 | } |
| 3965 | return false; |
| 3966 | } |
| 3967 | |
| 3968 | const char * Config::getVirtualDisplayViewTransformName(const char * view) const noexcept |
| 3969 | { |