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

Albert Finney Ator inglês

9 de maio de 1936, Salford, Greater Manchester (Inglaterra)

Da Página 3 Pedagogia & Comunicação

17/02/2009 18h42

Filho de um bookmaker e uma dona de casa, Albert Finney não pôde completar os estudos, optando por dedicar-se à arte da representação. Assim, estudou na Saldford Grammar School e na Royal Academy Dramatic Arts.

Em 1955, ingressou na Birmighan Repertory Company, onde trabalharia sob a direção de Charles Laughton. Mais tarde, fez parte do elenco da Royal Shakespeare Company, com a qual representou papéis em "MacBeth", "Otelo", "Rei Lear", "Júlio César" e "Coriolano".

Depois de um pequeno papel em "The Entertainer", sob a direção de Tony Richardson, ganhou uma ótima oportunidade em "Saturday Night and Sunday Morning", atuando como o rebelde e impulsivo Arthur Seaton.

Tony Richardson também dirigiu Finney em "As Aventuras de Tom Jones", trabalho pelo qual o ator recebeu vários prêmios, dentre eles, o Globo de Ouro de melhor revelação, o BAFTA e a primeira de suas cinco indicações ao Oscar.

Apesar do sucesso, Albert Finney não se dedica exclusivamente ao cinema. Sua atuação em "Assassinato no Orient Express" (1974), "A Chama que não se Apaga" (1982), "O Fiel Camareiro" (1983), "À Sombra do Vulcão" (1984) e "Erin Brockovich - Uma Mulher de Talento" (2000) rendeu-lhe indicações a vários Globos de Ouro e ao Oscar, mas continuou se dedicando ao teatro, como em 1976, quando encenou "Hamlet" no National Theater.

Finney atuou com grandes diretores, como Ridley Scott, Tim Burton, Stephen Frears, Alan Parker, os irmãos Coen e Steven Soderbergh. Recebeu três indicações ao Screen Actors' Guild Awards e duas ao prêmio Tony (por sua atuação no teatro).

Entre 2000 e 2008, seus principais trabalhos foram "Traffic", "Peixe Grande e suas Histórias Maravilhosas", "Doze Homens e Outro Segredo", "A Noiva", "Um Bom Ano", "Amazing Grace", "O Ultimato Bourne" e "Antes que o Diabo Saiba que Você Está Morto".

Albert Finney foi casado com a musa do cinema francês, Anouk Aimeé.
 

Folha de S. Paulo; El País