;(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

Rodrigo Santoro lembra dificuldades do início nos EUA: 'Era só Juan, José'

De Splash, no Rio

13/11/2021 04h00

Rodrigo Santoro é o convidado de Zeca Camargo no Splash Entrevista desta semana. No bate-papo exclusivo, o ator —que na última quinta-feira estreou com "7 Prisioneiros" na Netflix— falou sobre a volta ao cinema brasileiro e fez um balanço dos quase 20 anos de carreira no exterior.

No início dos anos 2000, Rodrigo deixou a TV Globo para buscar oportunidades em Hollywood. Antes de se tornar o maior ator brasileiro no cinema americano, no entanto, o caminho foi de muitos desafios e algumas frustrações. No papo com Zeca, o ator relembrou a chegada nos Estados Unidos.

Quando eu cheguei lá, era um tempo muito diferente do que a gente vive hoje. A internet, se já estava ali, era o começo e o próprio mundo não discutia as questões que está discutindo hoje. (...) Um universo ainda mais arcaico, em um modelo de produção em que eu lia os roteiros e era muito estereotipado.

Rodrigo Santoro, no Splash Entrevista

Rodrigo conta que recusou alguns papeis no início da carreira em Hollywood e que as ofertas eram sempre para personagens dentro do estereótipo em que comumente os latinos são enquadrados. Não era o que o ator, que havia acabado de estrelar no Brasil films como "Bicho de Sete Cabeças" e "Abril Despedaçado", queria.

r - Reprodução - Reprodução
Rodrigo Santoro é o convidado de Zeca Camargo no Splash Entrevista desta semana
Imagem: Reprodução

Eu buscava mais profundidade, mais pesquisa, e me deparei com personagens mais chapados. Era sempre um Juan, um Ramirez, um José... Não me representava como latino, como brasileiro e, inicialmente, como artista.

'Fui criticado pelos meus agentes, na época'

O ator conta que chegou a ter problemas com seus então empresários, ao recusar ofertas de trabalho desse tipo. "Fui criticado até pelos meus agentes na época. Tive propostas interessantes até financeiramente e eu, como vinha num momento de muita força ali do 'Abril Despedaçado' e do 'Bicho de Sete Cabeças', e isso sempre me moveu muito, fui obrigado a dizer não.

rs - Reprodução - Reprodução
Rodrigo Santoro é o convidado de Zeca Camargo no Splash Entrevista desta semana
Imagem: Reprodução

Quase 20 anos depois, Rodrigo colhe as vitórias de um caminho de persistência. Recentemente, ele foi nomeado como membro da Academia de Hollywood, responsável pela organização do Oscar. Olhando para trás, o ator faz um balanço da trajetória até aqui. "Eu tive uma oportunidade, investi nela, continuo investindo, mas eu vou história a história", diz Santoro, movido pela incerteza:

Eu não tenho certeza de nada, sou movido pelas dúvidas, pela busca. O que eu quero é evoluir. Essa saída [do país] foi movida por uma curiosidade, sempre fui muito curioso; por um desejo de conhecer outros universos, a diversidade nesse sentido, outra cultura.

No bate-papo com Zeca, Rodrigo deu mais detalhes sobre a produção de "7 Prisioneiros", falou de vida pessoal e da relação com a filha Nina, de quatro anos, deu detalhes de um novo projeto inspirado em Vinicius de Moraes e deu sua opinião sobre a falta de investimentos do governo brasileiro no audiovisual: "Um filme como '7 Prisioneiros' só existe por causa do streaming". Confira o Splash Entrevista com Rodrigo Santoro na íntegra aqui.