gui_spectrum.h
上传用户:lqx1163
上传日期:2014-08-13
资源大小:9183k
文件大小:6k
源码类别:

MTK

开发平台:

C/C++

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2005
  8. *
  9. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*******************************************************************************
  36. * Filename:
  37. * ---------
  38. *  gui_spectrum.h
  39. *
  40. * Project:
  41. * --------
  42. *   MAUI
  43. *
  44. * Description:
  45. * ------------
  46. *   audio spectrum display header file
  47. *
  48. * Author:
  49. * -------
  50. *  Pankaj
  51. *
  52. *==============================================================================
  53. *           HISTORY
  54. * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  55. *------------------------------------------------------------------------------
  56. * $Log$
  57.  *
  58.  * removed!
  59.  * removed!
  60.  * 
  61.  *
  62.  * removed!
  63.  * removed!
  64.  * 
  65. *
  66. *------------------------------------------------------------------------------
  67. * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  68. *==============================================================================
  69. *******************************************************************************/
  70. #include "MMI_features.h"
  71. #ifdef __MMI_AUDIO_SPECTRUM_DISPLAY__
  72. #include "gui.h"
  73. #include "gdi_datatype.h"
  74. #include "gdi_const.h"
  75. #define MAX_NUM_OF_SPECTRUMS      5
  76. /* #define SPACE_FOR_SCALE           3    3 pixels are allocated for scale (both vert. and hrzntl) this include 1 lines
  77.    ( i.e. 1 pixels) & 2 pixels for scale markings.  */
  78. #define DIST_BETWEEN_BARS         1     /* this is in pixels.the distance between the various different frequency structures 
  79.                                            which may be single unit bars or multiple block bars. */
  80. #define BLOCK_HEIGHT              2     /* the height of each block in the block */
  81. #define DIST_BETWEEN_BLOCKS       1     /* this is used for vertical distance between the blocks and the vert. dist. between 
  82.                                            horizontal scale line and bars */
  83. #define MIN_BAR_WIDTH             2     /* this is the minimum bar width for checking the width parameter in Init function. */
  84. #define NUM_OF_COLOR_COMPONENTS 3
  85. #define SPECTRUM_BKGD_COLOR_BAR_STYLE       gdi_act_color_from_rgb(0xFF,0,0,0)  /* black color for the background in bar style */
  86. //block style colors
  87. //#define SPECTRUM_BKGD_COLOR_BLOCK_STYLE                gdi_act_color_from_rgb(0xFF,145,201,200)     //blue for bkgd in block style.
  88. #define SPECTRUM_BKGD_COLOR_BLOCK_STYLE   GDI_COLOR_TRANSPARENT
  89. #define SPECTRUM_BLOCK_RED_COMPONENT         255
  90. #define SPECTRUM_BLOCK_BLUE_COMPONENT        35
  91. #define SPECTRUM_TOP_INDICATOR_COLOR_BLOCK_STYLE       gdi_act_color_from_rgb(0xFF,255,0,0)
  92. #define SPECTRUM_TOP_INDICATOR_COLOR_BAR_STYLE      gdi_act_color_from_rgb(0xFF,255,0,0)
  93. #define SPECTRUM_SCALE_COLOR            gdi_act_color_from_rgb(0xFF,69,139,141)
  94. #define SPACE_TO_BE_LEFT_FOR_CIRCLES_STYLE    10
  95. typedef enum
  96. {
  97.     STYLE_OFF,
  98.     STYLE_BLOCKS,
  99.     STYLE_BARS,
  100.     STYLE_CIRCLES
  101. } SPECTRUM_STYLE_ENUM;
  102. typedef struct
  103. {
  104.     S16 start_x;
  105.     S16 start_y;
  106.     S32 width;
  107.     S32 height;
  108.     S16 number_of_bars;
  109.     GDI_HANDLE target_layer;
  110.     GDI_HANDLE target_lcd;
  111.     S8 style;
  112.     BOOL active;
  113. }
  114. spectrum_struct;
  115. /* functions */
  116. extern BOOL mmi_audio_spectrum_init_display(spectrum_struct *spectrum);
  117. extern void mmi_audio_spectrum_start_display(spectrum_struct *spectrum);
  118. extern void mmi_audio_spectrum_display_timer(void);
  119. extern void mmi_audio_spectrum_redraw_display(spectrum_struct *spectrum, U8 *amplitude_val, U8 *top);
  120. extern void mmi_audio_spectrum_clear_display(spectrum_struct *spectrum);
  121. extern void mmi_audio_spectrum_stop_display(spectrum_struct *spectrum);
  122. #endif /* __MMI_AUDIO_SPECTRUM_DISPLAY__ */