/*************************************************************************** * Copyright (c) 2024 Microsoft Corporation * * This program and the accompanying materials are made available under the * terms of the MIT License which is available at * https://opensource.org/licenses/MIT. * * SPDX-License-Identifier: MIT **************************************************************************/ /**************************************************************************/ /**************************************************************************/ /** */ /** GUIX Component */ /** */ /** Prompt Management (Slider) */ /** */ /**************************************************************************/ #define GX_SOURCE_CODE /* Include necessary system files. */ #include "gx_api.h" #include "gx_slider.h" /* Bring in externs for caller checking code. */ GX_CALLER_CHECKING_EXTERNS /**************************************************************************/ /* */ /* FUNCTION RELEASE */ /* */ /* _gxe_slider_needle_position_get PORTABLE C */ /* 6.1 */ /* AUTHOR */ /* */ /* Kenneth Maxwell, Microsoft Corporation */ /* */ /* DESCRIPTION */ /* */ /* This function checks for errors in slider needle position get call. */ /* */ /* */ /* INPUT */ /* */ /* slider Slider widget control block */ /* slider_info Pointer to slider information */ /* structure defining the */ /* slider limits, needle size */ /* and offset, and other */ /* slider parameters. */ /* return_position Pointer to destination for */ /* needle position */ /* */ /* OUTPUT */ /* */ /* status Completion status */ /* */ /* CALLS */ /* */ /* _gx_slider_needle_position_get Actual slider needle position */ /* get call */ /* */ /* CALLED BY */ /* */ /* Application Code */ /* */ /* RELEASE HISTORY */ /* */ /* DATE NAME DESCRIPTION */ /* */ /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */ /* 09-30-2020 Kenneth Maxwell Modified comment(s), */ /* resulting in version 6.1 */ /* */ /**************************************************************************/ UINT _gxe_slider_needle_position_get(GX_SLIDER *slider, GX_SLIDER_INFO *slider_info, GX_RECTANGLE *return_position) { UINT status; /* Check for invalid caller. */ GX_INIT_AND_THREADS_CALLER_CHECKING /* Check for invalid pointer. */ if ((slider == GX_NULL) || (slider_info == GX_NULL) || (return_position == GX_NULL)) { return(GX_PTR_ERROR); } /* Check for invalid widget. */ if (slider -> gx_widget_type == 0) { return(GX_INVALID_WIDGET); } /* Check for invalid slider info. */ if ((slider_info -> gx_slider_info_current_val < slider_info -> gx_slider_info_min_val) || (slider_info -> gx_slider_info_current_val > slider_info -> gx_slider_info_max_val) || (slider_info -> gx_slider_info_min_val >= slider_info -> gx_slider_info_max_val)) { return(GX_INVALID_VALUE); } /* Call actual slider needle position get call. */ status = _gx_slider_needle_position_get(slider, slider_info, return_position); return(status); }