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

Stephen King é contra remake de 'À Espera de Um Milagre': 'Não veria'

O escritor Stephen King diz que não veria remakes de "À Espera de Um Milagre" e "Um Sonho de Liberdade" - Reprodução
O escritor Stephen King diz que não veria remakes de "À Espera de Um Milagre" e "Um Sonho de Liberdade" Imagem: Reprodução

Colaboração para Splash, em Maceió

25/02/2022 16h58

O escritor Stephen King, de 74 anos, já teve vários livros adaptados para os cinemas, alguns dos quais, inclusive, já ganharam remakes. Porém, o norte-americano é contra que dois longas, baseados a partir de suas obras, sejam refeitos: "Um Sonho de Liberdade" (1994) e "À Espera de Um Milagre" (1999).

Em entrevista ao site Bangor Daily News, King foi enfático em sua oposição a um reboot desses filmes e declarou que, na possibilidade de ambos os títulos arem por uma roupagem nas telonas, ele não assistiria.

"Eu não me mexeria para ver remakes de 'Um Sonho de Liberdade' ou 'À Espera de Um Milagre'", declarou o escritor, que também disse ter dúvidas sobre a refilmagem de "Christine, o Carro Assassino", que foi adaptado para as telonas em 1983, dirigido por John Carpenter.

Apesar de se opor ao remake dos dois filmes lançados nos anos 1990, baseados nos seus romances, Stephen King elogiou o reboot de "It - A Coisa", que ganhou uma nova roupagem, agora para o cinema, com longas lançados em 2017 e 2019. Antes, a história havia sido adaptada em uma minissérie para a TV em 1990.

"Gostei do reboot de 'It' para o cinema porque estava livre de todas regulações que comandavam a TV aberta na época", destacou, embora ressalte que o produto televisivo também tenha lhe agradado.

"Um Sonho de Liberdade" fez bastante sucesso quando foi lançado em 1994, e recebeu sete indicações ao Oscar. Com Morgan Freeman e Tim Robbins no elenco, o longa narra a história de Andy Dufresne, que foi condenado à prisão perpétua pela morte da esposa e da amante, mas precisa provar que não cometeu os crimes.

O filme "À Espera de Um Milagre", quando lançado em 1999, também foi bastante elogiado e recebeu quatro indicações ao Oscar. A obra conta a história de um guarda vivido por TomHanks, que trabalha em uma penitenciária para onde são levados presos condenados à morte, e conhece Coffey, interpretado por Michael Clarke Duncan, que foi condenado pelo assassinato de duas irmãs gêmeas.