kopia lustrzana https://github.com/Aircoookie/WLED
				
				
				
			Enable Peek for 2D.
							rodzic
							
								
									0a2e01a616
								
							
						
					
					
						commit
						febd7cbca8
					
				| 
						 | 
				
			
			@ -250,18 +250,20 @@ void /*IRAM_ATTR*/ WS2812FX::setPixelColorXY(float x, float y, byte r, byte g, b
 | 
			
		|||
 | 
			
		||||
// returns RGBW values of pixel
 | 
			
		||||
uint32_t WS2812FX::getPixelColorXY(uint16_t x, uint16_t y) {
 | 
			
		||||
  if (SEGMENT.getOption(SEG_OPTION_REVERSED)  ) x = SEGMENT.virtualWidth()  - x - 1;
 | 
			
		||||
  if (SEGMENT.getOption(SEG_OPTION_REVERSED_Y)) y = SEGMENT.virtualHeight() - y - 1;
 | 
			
		||||
  if (SEGMENT.getOption(SEG_OPTION_TRANSPOSED)) { uint16_t t = x; x = y; y = t; } // swap X & Y if segment transposed
 | 
			
		||||
  uint16_t index;
 | 
			
		||||
  if (SEGLEN) {
 | 
			
		||||
    if (SEGMENT.getOption(SEG_OPTION_REVERSED)  ) x = SEGMENT.virtualWidth()  - x - 1;
 | 
			
		||||
    if (SEGMENT.getOption(SEG_OPTION_REVERSED_Y)) y = SEGMENT.virtualHeight() - y - 1;
 | 
			
		||||
    if (SEGMENT.getOption(SEG_OPTION_TRANSPOSED)) { uint16_t t = x; x = y; y = t; } // swap X & Y if segment transposed
 | 
			
		||||
 | 
			
		||||
  x *= SEGMENT.groupLength(); // expand to physical pixels
 | 
			
		||||
  y *= SEGMENT.groupLength(); // expand to physical pixels
 | 
			
		||||
  if (x >= SEGMENT.width() || y >= SEGMENT.height()) return 0;
 | 
			
		||||
    x *= SEGMENT.groupLength(); // expand to physical pixels
 | 
			
		||||
    y *= SEGMENT.groupLength(); // expand to physical pixels
 | 
			
		||||
    if (x >= SEGMENT.width() || y >= SEGMENT.height()) return 0;
 | 
			
		||||
 | 
			
		||||
  //if (SEGMENT.getOption(SEG_OPTION_REVERSED)  ) x = SEGMENT.width()  - x - 1;
 | 
			
		||||
  //if (SEGMENT.getOption(SEG_OPTION_REVERSED_Y)) y = SEGMENT.height() - y - 1;
 | 
			
		||||
 | 
			
		||||
  uint16_t index = get2DPixelIndex(x, y);
 | 
			
		||||
    index = get2DPixelIndex(x, y);
 | 
			
		||||
  } else {
 | 
			
		||||
    index = y * matrixWidth + x;
 | 
			
		||||
  }
 | 
			
		||||
  if (index < customMappingSize) index = customMappingTable[index];
 | 
			
		||||
 | 
			
		||||
  return busses.getPixelColor(index);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -521,14 +521,15 @@ uint8_t WS2812FX::getActiveSegmentsNum(void) {
 | 
			
		|||
 | 
			
		||||
uint32_t WS2812FX::getPixelColor(uint16_t i)
 | 
			
		||||
{
 | 
			
		||||
  if (isMatrix) return getPixelColorXY(i, 0);
 | 
			
		||||
  if (isMatrix) return getPixelColorXY(i%matrixWidth, i/matrixWidth); // compatibility w/ non-effect fn
 | 
			
		||||
 | 
			
		||||
  // get physical pixel
 | 
			
		||||
  i = i * SEGMENT.groupLength();;
 | 
			
		||||
  if (SEGMENT.getOption(SEG_OPTION_REVERSED)) {
 | 
			
		||||
    if (SEGMENT.getOption(SEG_OPTION_MIRROR)) i = (SEGMENT.length() - 1) / 2 - i;  //only need to index half the pixels
 | 
			
		||||
    else                                      i = (SEGMENT.length() - 1) - i;
 | 
			
		||||
  }
 | 
			
		||||
  if (SEGMENT.getOption(SEG_OPTION_REVERSED)) i = SEGMENT.virtualLength() - i - 1;
 | 
			
		||||
  i *= SEGMENT.groupLength();
 | 
			
		||||
  //if (SEGMENT.getOption(SEG_OPTION_REVERSED)) {
 | 
			
		||||
  //  if (SEGMENT.getOption(SEG_OPTION_MIRROR)) i = (SEGMENT.length() - 1) / 2 - i;  //only need to index half the pixels
 | 
			
		||||
  //  else                                      i = (SEGMENT.length() - 1) - i;
 | 
			
		||||
  //}
 | 
			
		||||
  i += SEGMENT.start;
 | 
			
		||||
 | 
			
		||||
  if (SEGLEN) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -605,7 +605,6 @@ function parseInfo(i) {
 | 
			
		|||
	mh = i.leds.matrix ? i.leds.matrix.h : 0;
 | 
			
		||||
	isM = mw>0 && mh>0;
 | 
			
		||||
	if (!isM) hideModes("2D ");
 | 
			
		||||
	else      gId('buttonSr').classList.add("hide"); // peek does not work in 2D
 | 
			
		||||
	if (!i.u || !i.u.AudioReactive) { /*hideModes("♪ ");*/ hideModes("♫ "); }	// hide /*audio*/ frequency reactive effects
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1582
									
								
								wled00/html_ui.h
								
								
								
								
							
							
						
						
									
										1582
									
								
								wled00/html_ui.h
								
								
								
								
							
										
											
												Plik diff jest za duży
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -8,7 +8,7 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
// version code in format yymmddb (b = daily build)
 | 
			
		||||
#define VERSION 2207031
 | 
			
		||||
#define VERSION 2207041
 | 
			
		||||
 | 
			
		||||
//uncomment this if you have a "my_config.h" file you'd like to use
 | 
			
		||||
//#define WLED_USE_MY_CONFIG
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue