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

Rapaz com paralisia cerebral e sua mãe se formam em direito no RN

Chico Noberto/Divulgação
Imagem: Chico Noberto/Divulgação

Aliny Gama

Colaboração para o UOL, em Maceió

26/02/2016 05h00

Desde que tinha seis anos, Cristian Emanuel Oliveira de Vasconcelos, 24, quer ser promotor de Justiça. No último dia 16, ele deu mais um o em direção à realização desse desejo. Ele se formou em direito em uma faculdade particular em Natal.

A comemoração teve duplo gosto de vitória: sua mãe, e companheira de estudos, Nilda de Oliveira e Silva, 60, também recebeu o diploma de bacharel.

Cego e com paralisia cerebral, Christian foi o motivo que fez a mãe voltar aos bancos escolares. “Comecei como acompanhante de Cristian, mas logo depois, senti a necessidade de estudar junto com ele porque não bastava só ler. Ele interpretava e debatia o assunto comigo", conta Nilda, que não esperava se tornar bacharel de direito nessa fase da vida.

“Se não fosse a ajuda da minha mãe, eu não teria conseguido fazer o curso", conta Christian, agradecido. "Eu quero atuar na área criminalística, e também no cumprimento dos direitos da pessoa com necessidade especial."

Nilda diz que nunca tratou o filho como alguém incapaz, apesar das limitações físicas: “Meu filho pode conseguir o que ele quiser e vou continuar incentivando-o. Tanto que o lado intelectual dele foi desenvolvido e ele não tem dificuldades de falar e de se articular. Só não enxerga e não anda porque não se equilibra”.

Meu sonho é ser promotor de Justiça, mas sonho também em enxergar e andar. Um dia conseguirei realizar esses sonhos porque, para mim, nada é impossível Christian Vasconcelos, 24, bacharel em direito, aprovado no Exame da OAB
 

Nos cinco primeiros anos de vida do menino, a família procurou tratamentos médicos para que ele enxergasse, mas não conseguiram alcançar esse objetivo. Por isso, Nilda resolveu investir no lado intelectual do filho.

Christian estudou em uma escola sem adaptações para cegos. No entanto, ele foi alfabetizado em braille aos seis, em um turno diferente do que estudava na escola.

Quando chegou o momento de fazer faculdade, a família toda se mudou de Senhor do Bonfim (BA) para Natal (RN), para que ele pudesse fazer a graduação em uma faculdade (Universidade Potiguar) que atendesse suas necessidades. Mesmo com um núcleo de apoio psicopedagógico na Universidade Potiguar, a falta de livros em braile fez com que Nilda começasse a ler para Christian.

Segundo a coordenação do curso, Vasconcelos foi um dos estudantes mais dedicados da graduação e obteve nota 10 no TCC (Trabalho de Conclusão de Curso). O tema do traballho dele foi “A pessoa com deficiência e o cumprimento de pena privativa de liberdade no sistema prisional em Natal”.

“Ele sempre foi exemplo de superação aqui em casa e nunca tratei ele como uma criança limitada. Tentei dar atenção ao desenvolvimento intelectual dele para que ele se superasse e o resultado é só alegria”, diz Nilda, cheia de orgulho.