;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Peter Dinklage revela incômodo com assédio dos fãs: 'Não sou animal'

Peter Dinklage, ator de Game of Thrones, falou sobre a falta de privacidade adquirida com a fama - Jeff Kravitz/FilmMagic
Peter Dinklage, ator de Game of Thrones, falou sobre a falta de privacidade adquirida com a fama Imagem: Jeff Kravitz/FilmMagic

Colaboração para Splash, em Alagoas

29/12/2021 10h17

O ator Peter Dinklage, de 52 anos, falou sobre a fama repentina que alcançou após interpretar o personagem Tyrion Lannister na série "Game of Thrones", da HBO, e revelou que se incomoda com a reação exacerbada de alguns fãs ao encontrá-lo nas ruas.

Em entrevista ao New York Times, o artista disse que após a série houve "uma imensa variedade de reações" dos fãs, algumas que permanecem ainda hoje. No entanto, por mais que "a intenção das pessoas sejam boas", ele se incomoda com esse tipo de assédio, principalmente quando está "na rua com seu filho e as pessoas tiram sua foto sem pedir".

Segundo Dinklage, ele esboça alguma reação, mas se detém pois "não cai bem para um ator se queixar disso". Porém, o famoso ressalta que se trata de uma "questão humana", e afirma que não é "um animal de zoológico" exposto para o público apreciar a hora que quiser.

"Sou uma pessoa. Digamos que eu esteja ando por um dia realmente ruim e você me aborda. Tenho a obrigação de sorrir? E por que você não está se comunicando diretamente comigo?", questionou.

Peter Dinklage pontuou que na maioria das vezes as pessoas tiram fotos dele sem pedir autorização e, ao reclamar, elas não esboçam reação por ficarem "surpresas por eu estar falando com elas", completou.

Recentemente, Peter Dinklage também comentou a polêmica envolvendo o ator brasileiro Leandro Hassum, que deu vida a um homem com nanismo no filme "Amor sem Medida", da Netflix.

À Folha de S.Paulo, ele declarou: "Eu vejo filmes do ado e, infelizmente, se algo faz dinheiro, vai ser repetido — estamos falando de uma indústria, afinal. [...] Nós atores precisamos ter muito cuidado para não ofender as pessoas e, ao mesmo tempo, nosso trabalho é basicamente interpretar pessoas que não têm nada a ver com a gente. Então isso gera um ime complicado."