llpanelface.h
上传用户:king477883
上传日期:2021-03-01
资源大小:9553k
文件大小:3k
源码类别:

游戏引擎

开发平台:

C++ Builder

  1. /** 
  2.  * @file llpanelface.h
  3.  * @brief Panel in the tools floater for editing face textures, colors, etc.
  4.  *
  5.  * $LicenseInfo:firstyear=2001&license=viewergpl$
  6.  * 
  7.  * Copyright (c) 2001-2010, Linden Research, Inc.
  8.  * 
  9.  * Second Life Viewer Source Code
  10.  * The source code in this file ("Source Code") is provided by Linden Lab
  11.  * to you under the terms of the GNU General Public License, version 2.0
  12.  * ("GPL"), unless you have obtained a separate licensing agreement
  13.  * ("Other License"), formally executed by you and Linden Lab.  Terms of
  14.  * the GPL can be found in doc/GPL-license.txt in this distribution, or
  15.  * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
  16.  * 
  17.  * There are special exceptions to the terms and conditions of the GPL as
  18.  * it is applied to this Source Code. View the full text of the exception
  19.  * in the file doc/FLOSS-exception.txt in this software distribution, or
  20.  * online at
  21.  * http://secondlifegrid.net/programs/open_source/licensing/flossexception
  22.  * 
  23.  * By copying, modifying or distributing this software, you acknowledge
  24.  * that you have read and understood your obligations described above,
  25.  * and agree to abide by those obligations.
  26.  * 
  27.  * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
  28.  * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
  29.  * COMPLETENESS OR PERFORMANCE.
  30.  * $/LicenseInfo$
  31.  */
  32. #ifndef LL_LLPANELFACE_H
  33. #define LL_LLPANELFACE_H
  34. #include "v4color.h"
  35. #include "llpanel.h"
  36. class LLButton;
  37. class LLCheckBoxCtrl;
  38. class LLColorSwatchCtrl;
  39. class LLComboBox;
  40. class LLInventoryItem;
  41. class LLLineEditor;
  42. class LLSpinCtrl;
  43. class LLTextBox;
  44. class LLTextureCtrl;
  45. class LLUICtrl;
  46. class LLViewerObject;
  47. class LLFloater;
  48. class LLPanelFace : public LLPanel
  49. {
  50. public:
  51. virtual BOOL postBuild();
  52. LLPanelFace();
  53. virtual ~LLPanelFace();
  54. void refresh();
  55. void setMediaURL(const std::string& url);
  56. void setMediaType(const std::string& mime_type);
  57. protected:
  58. void getState();
  59. void sendTexture(); // applies and sends texture
  60. void sendTextureInfo(); // applies and sends texture scale, offset, etc.
  61. void sendColor(); // applies and sends color
  62. void sendAlpha(); // applies and sends transparency
  63. void sendBump(); // applies and sends bump map
  64. void sendTexGen(); // applies and sends bump map
  65. void sendShiny(); // applies and sends shininess
  66. void sendFullbright(); // applies and sends full bright
  67. void            sendGlow();
  68. void sendMedia();
  69. // this function is to return TRUE if the drag should succeed.
  70. static BOOL onDragTexture(LLUICtrl* ctrl, LLInventoryItem* item);
  71. void  onCommitTexture(const LLSD& data);
  72. void  onCancelTexture(const LLSD& data);
  73. void  onSelectTexture(const LLSD& data);
  74. void  onCommitColor(const LLSD& data);
  75. void  onCommitAlpha(const LLSD& data);
  76. void  onCancelColor(const LLSD& data);
  77. void  onSelectColor(const LLSD& data);
  78. static  void onCommitTextureInfo(  LLUICtrl* ctrl, void* userdata);
  79. static void onCommitBump( LLUICtrl* ctrl, void* userdata);
  80. static void onCommitTexGen( LLUICtrl* ctrl, void* userdata);
  81. static void onCommitShiny( LLUICtrl* ctrl, void* userdata);
  82. static void onCommitFullbright( LLUICtrl* ctrl, void* userdata);
  83. static void     onCommitGlow(           LLUICtrl* ctrl, void *userdata);
  84. static void onClickApply(void*);
  85. static void onClickAutoFix(void*);
  86. static F32      valueGlow(LLViewerObject* object, S32 face);
  87. };
  88. #endif